CSC3224_Computer_Games_Development / GameEngine / Engine_Messaging_System / EngineMessageSystem.h
EngineMessageSystem.h
Raw
#pragma once
#include "../Engine_Common/Common.h"
#include "SFML/System/Clock.hpp"
#include <string>
// System Messages
struct SystemMessage
{
	std::string messageName;
};

class Scene;
class EngineMessageSystem
{
public:
	explicit EngineMessageSystem(Scene& inputScene) : scene(&inputScene) {}
	virtual ~EngineMessageSystem() {};
	virtual void play(const sf::Time& elapsedTime) = 0;
	virtual void recieveEngineMessage(const SystemMessage& inputMessage) = 0;
protected:
	Scene* scene;
};