| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef INCLUDE_GAMESTATE_h
- #define INCLUDE_GAMESTATE_h
- #include "engine/State.h"
- #include "map/Map.h"
- #include "render/Camera.h"
- #include "utility/Rect.h"
- #include "Player.h"
- #include <lua.hpp>
- namespace Pacman
- {
- enum Pacgum:uint8_t {NOTHING, NORMAL, SUPER};
- class GameState : public WalrusRPG::States::State {
- private:
- unsigned level;
- WalrusRPG::Map map;
- Pacgum gums[31][28];
- WalrusRPG::Camera cam;
- Player p1;
- Player p2;
- lua_State *L;
- bool blinky_ready;
- public:
- GameState();
- ~GameState();
- void update(unsigned dt) override;
- void render(unsigned dt) override;
- void set_gums();
- inline bool is_inside_map(int x, int y) { return x >= 0 && x < 224 && y >= 0 && y < 248;}
- bool does_collide_a_wall(WalrusRPG::Utils::Rect r);
- void move_player(Player &p);
- void render_player(WalrusRPG::Utils::Rect r);
- void load_ghost_script(const char* filename, const char* ghost_name, bool& ready_flag);
- void update_ghost(const char* ghost_name, bool& ready_flag);
- };
- }
- #endif
|