1 package erland.game.tileadventure;
2
3 import erland.game.BlockContainerInterface;
4
5 import java.awt.*;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public interface IrregularBlockContainerInterface {
27
28
29
30 int getSizeX();
31
32 int getSizeY();
33
34 int getSizeZ();
35
36
37
38 int getSquareSizeX();
39
40 int getSquareSizeY();
41
42 int getSquareSizeZ();
43
44
45 int getOffsetX();
46
47 int getOffsetY();
48
49
50
51 int getDrawingPositionX(float x, float y, float z);
52
53 int getDrawingPositionY(float x, float y, float z);
54
55
56
57 int getPositionX(float x, float y, float z);
58
59 int getPositionY(float x, float y, float z);
60
61 int getDrawingSizeX();
62
63 int getDrawingSizeY();
64
65 boolean getVisible(float posX, float posY, float posZ);
66
67 int getScrollingSizeX();
68
69 int getScrollingSizeY();
70
71 int getPixelDrawingPositionX(float x, float y, float z);
72
73 int getPixelDrawingPositionY(float x, float y, float z);
74
75 int getScrollingOffsetX();
76
77 int getScrollingOffsetY();
78
79 /***
80 * Get the x block coordinate for a specific pixel drawing coordinate.
81 * The scrollling offset is used when calculating the block coordinate
82 * @param x The x pixel coordinate
83 * @param y The y pixel coordinate
84 * @param z THe z pixel coordinate
85 * @return The x block cordinate
86 */
87 int getBlockPositionX(int x, int y, int z);
88
89 /***
90 * Get the y block coordinate for a specific pixel drawing coordinate
91 * The scrollling offset is used when calculating the block coordinate
92 * @param x The x pixel coordinate
93 * @param y The y pixel coordinate
94 * @param z The z pixel coordinate
95 * @return The y block cordinate
96 */
97 int getBlockPositionY(int x, int y, int z);
98 }