Pacman.h 955 bytes
#pragma once
//#include "Entities.h" //он тут есть
//#include "../Events/Events.h"
#include "../Room/Room.h"
#include "../Events/IGameEvent.h"
class GameContext;
class IStaticEntity;
class DeleteStaticEntity : public IGameEvent {
public:
	DeleteStaticEntity(std::unique_ptr<IStaticEntity> ptr);
	void handle(GameContext& context) const override;
private:
	std::unique_ptr<IStaticEntity> m_ptr_entity;
class LostGame : public IGameEvent {
public:
	void handle(GameContext& context) const override;
class WinGame: public IGameEvent {
public:
	void handle(GameContext& context) const override;
class Pacman : public IEntity, public IVisitor {
public:
	Pacman();	
	void move(Room::Direction direction);
	void draw_into(sf::RenderWindow& window) const override;
	void prepare_for_drawing() override;
	std::unique_ptr<IGameEvent> visit(Food* ptr_food) override;
	std::unique_ptr<IGameEvent> visit(Enemy* ptr_enemy) override;