New graphic system.
[sdlbotor.git] / MapObject.h
blob9ca19c5fa51ccddb136d60f70e0c9b73d4decac8
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 );
70 #endif