-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMapObject.java
145 lines (121 loc) · 2.69 KB
/
MapObject.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package adventuregame;
public class MapObject {
private char mapIcon;
private LocalMap currentMap;
private String name;
private int x;
private int y;
private boolean isPermeable;
/**
* Initial working constructor for the class
*
* @param mapCharacter
* the character to use on the map.
*
*/
public MapObject(
char mapCharacter,
String objectName,
boolean isPermeable,
int x,
int y) {
this.x = x;
this.y = y;
mapIcon = mapCharacter;
name = objectName;
this.isPermeable = isPermeable;
}
/**
* Changes the map the player's in
*
* @param x
* the new x coordinate to put the player on
* @param y
* the new y coordinate to put the player on
* @param map
* the new map to put the MapObject on
*/
public void changeMap(int x, int y, LocalMap map) {
currentMap.removeObjectAt(this.x, this.y);
setMap(map);
map.addObjectAt(x, y, this);
}
/**
* Returns the name
* @return the name
*/
public String getName() {
return name;
}
/**
* returns the x coordinate
*
* @return the x coordinate
*/
public int getX() {
return x;
}
/**
* returns the y coordinate
*
* @return the y coordinate
*/
public int getY() {
return y;
}
/**
* setter for x
* @param x
*/
public void setX(int x) {
this.x = x;
}
/**
* setter for x
* @param x
*/
public void setY(int y) {
this.y = y;
}
/**
* Gives up the mapIcon for this object
*
* @return the mapIcon character of this object
*/
public char getMapIcon() {
return mapIcon;
}
/**
* getter for permeability (whether or not the player can walk through it)
*/
public boolean isPermeable() {
return isPermeable;
}
/**
* Changes the permeability state for a mapObject
* can only be modified from this class or a
* sub class
*
* @param state
* what the permeability should be
*/
protected void setPermeability(boolean state) {
isPermeable = state;
}
/**
* setter for the currentMap field
*
* @param map
* the new map
*/
public void setMap(LocalMap map) {
currentMap = map;
}
/**
* Getter for the currentMap
* @return currentMap the currentMap
*/
public LocalMap getMap() {
return currentMap;
}
}