MapSystem::MapSystem(EntityManager& em) : DefaultEntitySystem<MapComponent>(em) { mSpawnEntityFunctor = MessageFunctor(this, &MapSystem::OnSpawnEntity); em.RegisterForMessages(SpawnEntityMessage::TYPE, mSpawnEntityFunctor, "MapSystem::OnSpawnEntity"); mDeleteEntityFunctor = MessageFunctor(this, &MapSystem::OnDeleteEntity); em.RegisterForMessages(DeleteEntityMessage::TYPE, mDeleteEntityFunctor, "MapSystem::OnDeleteEntity"); mStopSystemFunctor = MessageFunctor(this, &MapSystem::OnStopSystem); em.RegisterForMessages(StopSystemMessage::TYPE, mStopSystemFunctor, "MapSystem::OnStopSystem"); mSetComponentPropertiesFunctor = MessageFunctor(this, &MapSystem::OnSetComponentProperties); em.RegisterForMessages(SetComponentPropertiesMessage::TYPE, mSetComponentPropertiesFunctor, "MapSystem::OnSetComponentProperties"); mSetSystemPropertiesFunctor = MessageFunctor(this, &MapSystem::OnSetSystemProperties); em.RegisterForMessages(SetSystemPropertiesMessage::TYPE, mSetSystemPropertiesFunctor, "MapSystem::OnSetSystemPropertie"); RegisterCommandMessages(MessageFactory::GetInstance()); RegisterSystemMessages(MessageFactory::GetInstance()); }