Kraken arm shows up when you take the powerup

This commit is contained in:
tleety
2015-10-20 15:57:02 +02:00
parent ce61de1d5c
commit 9ffa8e9609
2 changed files with 16 additions and 20 deletions
+1
View File
@@ -103,6 +103,7 @@ private:
double m_KrakenStrength = 0; double m_KrakenStrength = 0;
double m_PlayerStrength = 0; double m_PlayerStrength = 0;
float m_Edge = 2.8f; float m_Edge = 2.8f;
EntityID m_KrakenArm;
Components::Transform* m_Transform = nullptr; Components::Transform* m_Transform = nullptr;
Components::Pad* m_Pad = nullptr; Components::Pad* m_Pad = nullptr;
std::shared_ptr<Components::Transform> m_StickTransform; std::shared_ptr<Components::Transform> m_StickTransform;
+15 -20
View File
@@ -57,17 +57,6 @@ void dd::Systems::PadSystem::Initialize()
m_World->CommitEntity(ent); m_World->CommitEntity(ent);
SetEdge(3.2 - (ctransform->Scale.x / 2)); SetEdge(3.2 - (ctransform->Scale.x / 2));
{
auto entArm = m_World->CreateEntity(ent);
auto ctransform = m_World->AddComponent<Components::Transform>(entArm);
ctransform->Position = glm::vec3(1.f, -3.0f, 0.f);
auto cModel = m_World->AddComponent<Components::Model>(entArm);
cModel->ModelFile = "Models/Kraken/Arm.dae";
auto animationComponent = m_World->AddComponent<Components::Animation>(entArm);
animationComponent->Speed = 1.0f;
}
} }
//Stick //Stick
@@ -150,15 +139,6 @@ void dd::Systems::PadSystem::Update(double dt)
Events::KrakenAttack e; Events::KrakenAttack e;
e.ChargeUpdate = m_KrakenCharge; e.ChargeUpdate = m_KrakenCharge;
EventBroker->Publish(e); EventBroker->Publish(e);
{
auto m_KrakenArm = m_World->CreateEntity();
auto transform = m_World->AddComponent<Components::Transform>(m_KrakenArm);
transform->Position = glm::vec3(0.f, -3.5f, -10.f);
auto model = m_World->AddComponent<Components::Model>(m_KrakenArm);
m_World->CommitEntity(m_KrakenArm);
}
return; return;
} }
@@ -466,6 +446,17 @@ bool dd::Systems::PadSystem::OnKrakenAttack(const dd::Events::KrakenAttack &even
transform->Velocity = glm::vec3(0, 0, 0); transform->Velocity = glm::vec3(0, 0, 0);
acceleration = glm::vec3(0, 0, 0); acceleration = glm::vec3(0, 0, 0);
if (!m_KrakenArm){
m_KrakenArm = m_World->CreateEntity(Entity());
auto transform = m_World->AddComponent<Components::Transform>(m_KrakenArm);
transform->Position = glm::vec3(1.f, -3.0f, 0.f);
auto model = m_World->AddComponent<Components::Model>(m_KrakenArm);
model->ModelFile = "Models/kraken/Arm.dae";
auto animation = m_World->AddComponent<Components::Animation>(m_KrakenArm);
animation->Speed = 1.0f;
m_World->CommitEntity(m_KrakenArm);
}
SetTransform(transform); SetTransform(transform);
SetAcceleration(acceleration); SetAcceleration(acceleration);
} else if (m_KrakenCharge >= 1) { } else if (m_KrakenCharge >= 1) {
@@ -473,6 +464,10 @@ bool dd::Systems::PadSystem::OnKrakenAttack(const dd::Events::KrakenAttack &even
m_KrakenCharge = 0; m_KrakenCharge = 0;
m_KrakenStrength = 0; m_KrakenStrength = 0;
m_PlayerStrength = 0; m_PlayerStrength = 0;
m_World->RemoveEntity(m_KrakenArm);
m_KrakenArm = NULL;
} }
return true; return true;
} }