Edited map, new efence tile
[sdlbotor.git] / MapObject.h
blobe0bad6cfdc49cdef10da460f2822a541e7c3bc78
1 #ifndef MAPOBJECT_H
2 #define MAPOBJECT_H
4 #ifdef __linux__
5 #include <SDL/SDL.h>
6 #else
7 #include <SDL.h>
8 #endif
10 #include "Tile.h"
11 #include "drawable.h"
13 namespace botor
16 class MapObject
19 protected:
21 Uint8 mapX, mapY;
23 Sint8 vX,vY;
24 float movementX, movementY;
25 float speed;
27 bool walking;
28 bool moving;
30 Drawable *graphic;
32 public:
34 MapObject( Uint8 mapX = 0, Uint8 mapY = 0, Drawable *graphic = 0 );
35 virtual ~MapObject();
37 protected:
39 void UpdatePosition();
40 virtual void StartMovement();
42 virtual float SPEED() = 0;
44 public:
46 virtual bool isWalkable( Uint8 X, Uint8 Y );
48 virtual void Initialize();
49 virtual void DeInitialize();
51 virtual void Update();
52 virtual void Draw();
55 //callbacks
56 virtual void OnTile( Tile *t );
58 void Teleport( Uint8 mapX, Uint8 mapY, Uint16 room = 0 );
60 Uint8 getMapX();
61 Uint8 getMapY();
63 bool Walking();
65 void setGraphic( Drawable *graphic );
66 Drawable *getGraphic( );
71 #endif