#ifndef _EVENT_MODULE_H_
#define _EVENT_MODULE_H_
#include <flecs.h>
#include <Ogre.h>
namespace ECS
{
struct EventData {
	struct EventArgs {
		int type;
	};
	struct Event {
		flecs::entity sender;
		Ogre::String event;
		flecs::entity e1, e2;
	};
	std::list<Event> events;
	void add(flecs::entity sender, const Ogre::String &event,
		 flecs::entity e1, flecs::entity e2)
	{
		events.push_back({ sender, event, e1, e2 });
	}
};
struct EventModule {
	EventModule(flecs::world &ecs);
	void send_event(flecs::entity from, const Ogre::String &event,
			flecs::entity to);
};
}
#endif
