21 #ifndef ULTIMA4_GAME_OBJECT_H 22 #define ULTIMA4_GAME_OBJECT_H 24 #include "ultima/ultima4/core/coords.h" 25 #include "ultima/ultima4/map/map_tile.h" 26 #include "ultima/ultima4/core/types.h" 27 #include "common/list.h" 36 enum ObjectMovementBehavior {
39 MOVEMENT_FOLLOW_AVATAR,
40 MOVEMENT_ATTACK_AVATAR
51 Object(Type type = UNKNOWN) :
54 _movementBehavior(MOVEMENT_FIXED),
70 const Coords &getCoords()
const {
73 const Coords &getPrevCoords()
const {
76 ObjectMovementBehavior getMovementBehavior()
const {
77 return _movementBehavior;
79 Type getType()
const {
82 bool hasFocus()
const {
85 bool isVisible()
const {
88 bool isAnimated()
const {
95 void setTile(
Tile *t) {
101 void setCoords(
Coords c) {
102 _prevCoords = _coords;
105 void setPrevCoords(
Coords c) {
108 void setMovementBehavior(ObjectMovementBehavior b) {
109 _movementBehavior = b;
111 void setType(Type t) {
114 void setFocus(
bool f =
true) {
117 void setVisible(
bool v =
true) {
120 void setAnimated(
bool a =
true) {
124 void setMap(
class Map *m);
128 bool setDirection(Direction d);
130 void animateMovement();
135 Coords _coords, _prevCoords;
136 ObjectMovementBehavior _movementBehavior;
Definition: detection.h:27
Definition: map_tile.h:34
Common::List< class Map * > _maps
Definition: object.h:138