//Middle level for objects #ifndef CLASS_MI_OBJECT #define CLASS_MI_OBJECT #include #include #include #include "cl_gameobj.h" #include "cl_anim.h" //#include "cl_level.h" #include "cl_event.h" #include "cl_panel.h" #include "cl_stage.h" using namespace std; class MI_OBJECT { map thing; //all objects available in game map obj_id; map colision_control; //object which are affected by collision int obj_id_counter; //counter of objects GAMEOBJ * avatar; //pointer to object controled by player BITMAP * scr; //canvas ANIM * aimage; //actual image pointer // LEVEL * alevel; STAGE * stage; int gtype; //game type int grav; //gravity EVENT_DRIVER * event; //pointer to event system PANEL * panel; public: void init(); void canvas(BITMAP *bmp); void actual_image(ANIM *b); void connect_stage(STAGE *s); //replacing actual_level a connect_level void connect_event(EVENT_DRIVER *e); void connect_panel(PANEL *p); int create(string name); void destroy(string name); void destroy_all(); void remove(GAMEOBJ *p); void place(string name, int x, int y); void connect_imgkey(string name, string ik); void set_anim(string aname, int animated, int apos, int aspeed); int aply(GAMEOBJ *actor, GAMEOBJ *p); void prop(string name, string type, int value); void prop(string name, string type, string value); int pick_exist(); int exist(string name); void connect_image(string tname, ANIM* a); // void connect_level(LEVEL *l); void draw(); void process(); // Avatar void set_avatar(string name); void place_avatar(int x, int y); void draw_avatar(); void process_keyboard(); void collision_avatar(); void colision_control_add(string name, GAMEOBJ *o); void colision_control_del(string name); void colision_control_del(GAMEOBJ *o); void game_type(string g); int game_type(); void gravity(int i); }; #endif