A gray tank! :D

This commit is contained in:
2014-04-05 01:24:19 +02:00
parent ed29297d00
commit ad2862bf84
15 changed files with 289 additions and 18 deletions
+40 -7
View File
@@ -5,11 +5,41 @@ void GameWorld::Initialize()
{
World::Initialize();
auto terrain = CreateEntity();
auto transform = AddComponent<Components::Transform>(terrain, "Transform");
std::shared_ptr<Components::Transform> transform;
std::shared_ptr<Components::Model> model;
auto camera = CreateEntity();
transform = AddComponent<Components::Transform>(camera, "Transform");
transform->Position.z = 5.f;
auto cameraComp = AddComponent<Components::Camera>(camera, "Camera");
AddComponent(camera, "Input");
auto freeSteering = AddComponent<Components::FreeSteering>(camera, "FreeSteering");
/*auto terrain = CreateEntity();
transform = AddComponent<Components::Transform>(terrain, "Transform");
transform->Scale = glm::vec3(.0005f);
auto model = AddComponent<Components::Model>(terrain, "Model");
model->ModelFile = "Models/terrain/terrain.obj";
model = AddComponent<Components::Model>(terrain, "Model");
model->ModelFile = "Models/terrain/terrain.obj";*/
auto tank = CreateEntity();
transform = AddComponent<Components::Transform>(tank, "Transform");
transform->Scale = glm::vec3(.01f);
model = AddComponent<Components::Model>(tank, "Model");
model->ModelFile = "Models/tank/tank_base.obj";
{
auto tank_top = CreateEntity(tank);
transform = AddComponent<Components::Transform>(tank_top, "Transform");
//transform->Scale = glm::vec3(.0005f);
model = AddComponent<Components::Model>(tank_top, "Model");
model->ModelFile = "Models/tank/tank_top.obj";
{
auto tank_barrel = CreateEntity(tank_top);
transform = AddComponent<Components::Transform>(tank_barrel, "Transform");
//transform->Scale = glm::vec3(.0005f);
model = AddComponent<Components::Model>(tank_barrel, "Model");
model->ModelFile = "Models/tank/tank_barrel.obj";
}
}
}
void GameWorld::Update(double dt)
@@ -31,17 +61,19 @@ void GameWorld::RegisterComponents()
m_ComponentFactory.Register("Sprite", []() { return new Components::Sprite(); });
m_ComponentFactory.Register("Template", []() { return new Components::Template(); });
m_ComponentFactory.Register("Transform", []() { return new Components::Transform(); });
m_ComponentFactory.Register("FreeSteering", []() { return new Components::FreeSteering(); });
}
void GameWorld::RegisterSystems()
{
m_SystemFactory.Register("TransformSystem", [this]() { return new Systems::TransformSystem(this); });
//m_SystemFactory.Register("LevelGenerationSystem", [this]() { return new Systems::LevelGenerationSystem(this); });
//m_SystemFactory.Register("InputSystem", [this]() { return new Systems::InputSystem(this, m_Renderer); });
m_SystemFactory.Register("InputSystem", [this]() { return new Systems::InputSystem(this, m_Renderer); });
//m_SystemFactory.Register("CollisionSystem", [this]() { return new Systems::CollisionSystem(this); });
////m_SystemFactory.Register("ParticleSystem", [this]() { return new Systems::ParticleSystem(this); });
//m_SystemFactory.Register("PlayerSystem", [this]() { return new Systems::PlayerSystem(this); });
m_SystemFactory.Register("FreeSteeringSystem", [this]() { return new Systems::FreeSteeringSystem(this); });
//m_SystemFactory.Register("SoundSystem", [this]() { return new Systems::SoundSystem(this); });
m_SystemFactory.Register("TransformSystem", [this]() { return new Systems::TransformSystem(this); });
m_SystemFactory.Register("RenderSystem", [this]() { return new Systems::RenderSystem(this, m_Renderer); });
}
@@ -49,10 +81,11 @@ void GameWorld::AddSystems()
{
AddSystem("TransformSystem");
//AddSystem("LevelGenerationSystem");
//AddSystem("InputSystem");
AddSystem("InputSystem");
//AddSystem("CollisionSystem");
////AddSystem("ParticleSystem");
//AddSystem("PlayerSystem");
AddSystem("FreeSteeringSystem");
//AddSystem("SoundSystem");
AddSystem("RenderSystem");
}