Gridarta Editor
src
model
src
main
java
net
sf
gridarta
model
gameobject
MultiPositionEntry.java
Go to the documentation of this file.
1
/*
2
* Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3
* Copyright (C) 2000-2023 The Gridarta Developers.
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
package
net.sf.gridarta.model.gameobject;
21
22
import
java.awt.Dimension;
23
import
org.jetbrains.annotations.NotNull;
24
29
public
class
MultiPositionEntry
{
30
34
private
static
final
int
X_DIM
= 32;
35
39
private
final
int
width
;
40
44
private
final
int
height
;
45
49
private
final
int
@NotNull []
data
;
50
54
private
final
int
yLen
;
55
61
public
MultiPositionEntry
(@NotNull
final
IsoMapSquareInfo
isoMapSquareInfo, @NotNull
final
Dimension size) {
62
final
int
sum = size.width + size.height;
63
width
= sum * isoMapSquareInfo.getXLen2();
64
height
= sum * isoMapSquareInfo.getYLen2();
65
data
=
new
int
[
width
*
height
];
66
int
index = 0;
67
for
(
int
y = 0; y < size.height; y++) {
68
for
(
int
x = 0; x < size.width; x++) {
69
data
[index++] = (x + size.height - y - 1) * isoMapSquareInfo.getXLen2();
70
data
[index++] = (x + y) * isoMapSquareInfo.getYLen2();
71
}
72
}
73
yLen
= isoMapSquareInfo.getYLen();
74
}
75
83
public
int
getXOffset
(
final
int
positionID) {
84
return
data
[positionID * 2];
85
}
86
94
public
int
getYOffset
(
final
int
positionID) {
95
return
height
-
yLen
-
data
[1 + positionID * 2];
96
}
97
102
public
int
getWidth
() {
103
return
width
;
104
}
105
110
public
int
getHeight
() {
111
return
height
;
112
}
113
114
}
net.sf.gridarta.model.gameobject.MultiPositionEntry
Definition:
MultiPositionEntry.java:29
net.sf.gridarta.model.gameobject.MultiPositionEntry.getXOffset
int getXOffset(final int positionID)
Definition:
MultiPositionEntry.java:83
net.sf.gridarta.model.gameobject.IsoMapSquareInfo
Definition:
IsoMapSquareInfo.java:26
net.sf.gridarta.model.gameobject.MultiPositionEntry.getHeight
int getHeight()
Definition:
MultiPositionEntry.java:110
net.sf.gridarta.model.gameobject.MultiPositionEntry.yLen
final int yLen
Definition:
MultiPositionEntry.java:54
net.sf.gridarta.model.gameobject.MultiPositionEntry.MultiPositionEntry
MultiPositionEntry(@NotNull final IsoMapSquareInfo isoMapSquareInfo, @NotNull final Dimension size)
Definition:
MultiPositionEntry.java:61
net.sf.gridarta.model.gameobject.MultiPositionEntry.X_DIM
static final int X_DIM
Definition:
MultiPositionEntry.java:34
net.sf.gridarta.model.gameobject.MultiPositionEntry.height
final int height
Definition:
MultiPositionEntry.java:44
net.sf.gridarta.model.gameobject.MultiPositionEntry.data
final int[] data
Definition:
MultiPositionEntry.java:49
net.sf.gridarta.model.gameobject.MultiPositionEntry.width
final int width
Definition:
MultiPositionEntry.java:39
net.sf.gridarta.model.gameobject.MultiPositionEntry.getYOffset
int getYOffset(final int positionID)
Definition:
MultiPositionEntry.java:94
net.sf.gridarta.model.gameobject.MultiPositionEntry.getWidth
int getWidth()
Definition:
MultiPositionEntry.java:102
Generated by
1.8.17