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"
36enum 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: map_tile.h:34
Common::List< class Map * > _maps
Definition: object.h:138