Cleaned up PlayerSystem. Sets velocity to 0 every frame.

This commit is contained in:
stiffly
2015-12-15 16:35:09 +01:00
parent 1669649186
commit 889e0bb3d3
2 changed files with 3 additions and 90 deletions
+2 -60
View File
@@ -2,6 +2,7 @@
void PlayerSystem::UpdateComponent(World * world, ComponentWrapper & player, double dt)
{
(glm::vec3)player["Velocity"] = glm::vec3(0.f);
if (player["Forward"]) {
((glm::vec3&)player["Velocity"]).z = m_Speed * float(dt) * -1;
}
@@ -14,66 +15,7 @@ void PlayerSystem::UpdateComponent(World * world, ComponentWrapper & player, dou
if (player["Right"]) {
((glm::vec3&)player["Velocity"]).x = m_Speed * float(dt);
}
ComponentWrapper& transform = world->GetComponent(player.EntityID, "Transform");
(glm::vec3&)transform["Position"] += (glm::vec3)player["Velocity"];
//m_EventBroker->Process<PlayerSystem>();
//// TODO Jag tror inte vi kan göra det vi vill i updaten.
//// om man lägger till parametrar och tar bort overriden så blir det kanske inte så kul?
//// aja, lycka till!
//if (ShouldCreatePlayer) {
// int entityID = world->CreateEntity();
// ComponentWrapper transform = world->AttachComponent(entityID, "Transform");
// transform["Position"] = glm::vec3(-1.5f, 0.f, 0.f);
// ComponentWrapper model = world->AttachComponent(entityID, "Model");
// model["Resource"] = "Models/Core/UnitSphere.obj";//modelPath; // You fix this :)
// model["Color"] = glm::vec4(rand()%255 / 255.f, rand()%255 / 255.f, rand() %255 / 255.f, 1.f);
// ShouldCreatePlayer = false;
//}
}
void PlayerSystem::CreatePlayer(World * world, unsigned int& entityID)
{
}
bool PlayerSystem::OnKeyDown(const Events::KeyDown & event)
{
if (event.KeyCode == GLFW_KEY_W) {
input.Forward = true;
}
if (event.KeyCode == GLFW_KEY_A) {
input.Left = true;
}
if (event.KeyCode == GLFW_KEY_S) {
input.Back = true;
}
if (event.KeyCode == GLFW_KEY_D) {
input.Right = true;
}
return true;
}
bool PlayerSystem::OnKeyUp(const Events::KeyUp & event)
{
if (event.KeyCode == GLFW_KEY_W) {
input.Forward = false;
}
if (event.KeyCode == GLFW_KEY_A) {
input.Left = false;
}
if (event.KeyCode == GLFW_KEY_S) {
input.Back = false;
}
if (event.KeyCode == GLFW_KEY_D) {
input.Right = false;
}
return false;
}
bool PlayerSystem::OnCreatePlayer(const Events::CreatePlayer & event)
{
ShouldCreatePlayer = true;
return false;
}