Kraken arm animations!

This commit is contained in:
2015-10-22 17:01:21 +02:00
parent 3e10d75d75
commit d1946d46e2
2 changed files with 38 additions and 37 deletions
+2 -2
View File
@@ -107,8 +107,8 @@ private:
float m_Edge = 2.8f; float m_Edge = 2.8f;
float m_PadOriginalHeight = -4.8; float m_PadOriginalHeight = -4.8;
float m_PadHeight = m_PadOriginalHeight; float m_PadHeight = m_PadOriginalHeight;
EntityID m_KrakenArm = NULL; EntityID m_KrakenArm = 0;
EntityID m_KrakenArmHitbox = NULL; EntityID m_KrakenArmHitbox = 0;
float m_PadRiseSpeed = 0.2; float m_PadRiseSpeed = 0.2;
Components::Transform* m_Transform = nullptr; Components::Transform* m_Transform = nullptr;
Components::Pad* m_Pad = nullptr; Components::Pad* m_Pad = nullptr;
+36 -35
View File
@@ -59,6 +59,9 @@ 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));
SetEntity(ent);
SetTransform(m_World->GetComponent<Components::Transform>(Entity()));
SetPad(m_World->GetComponent<Components::Pad>(Entity()));
} }
//Stick //Stick
@@ -77,18 +80,31 @@ void dd::Systems::PadSystem::Initialize()
m_StickTransform = transform; m_StickTransform = transform;
m_StickyAim = sticky; m_StickyAim = sticky;
/*{ /*{
auto entChild = m_World->CreateEntity(ent); auto entChild = m_World->CreateEntity(ent);
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(entChild); std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(entChild);
transform->Position = glm::vec3(0.f, 12.5f, 0.f); transform->Position = glm::vec3(0.f, 12.5f, 0.f);
transform->Scale = glm::vec3(0.1f, 25.f, 0.1f); transform->Scale = glm::vec3(0.1f, 25.f, 0.1f);
std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(entChild); std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(entChild);
sprite->SpriteFile = "Models/Brick/White.png"; sprite->SpriteFile = "Models/Brick/White.png";
sprite->Color = glm::vec4(0.f, 0.5f, 0.f, 0.5f); sprite->Color = glm::vec4(0.f, 0.5f, 0.f, 0.5f);
}*/ }*/
} }
// Kraken arm
{
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 = 0.0f;
animation->Loop = false;
m_World->CommitEntity(m_KrakenArm);
}
m_ResetBall = true; m_ResetBall = true;
} }
@@ -133,17 +149,6 @@ void dd::Systems::PadSystem::Update(double dt)
return; return;
} }
if (Entity() == 0) {
for (auto it = m_World->GetEntities()->begin(); it != m_World->GetEntities()->end(); it++) {
if (m_World->GetProperty<std::string>(it->first, "Name") == "Pad") {
SetEntity(it->first);
SetTransform(m_World->GetComponent<Components::Transform>(Entity()));
SetPad(m_World->GetComponent<Components::Pad>(Entity()));
break;
}
}
}
if (m_KrakenAttack) { if (m_KrakenAttack) {
m_KrakenCharge -= m_KrakenStrength * dt; m_KrakenCharge -= m_KrakenStrength * dt;
if (m_KrakenCharge < 0) { if (m_KrakenCharge < 0) {
@@ -476,18 +481,10 @@ 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);
LOG_INFO("Kraken arm duuude"); if (m_KrakenArmHitbox == 0) {
if (!m_KrakenArm){ auto animation = m_World->GetComponent<Components::Animation>(m_KrakenArm);
LOG_INFO("InKrakenArmDuuude"); animation->Time = 0.0;
m_KrakenArm = m_World->CreateEntity(Entity()); animation->Speed = 1.0;
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;
animation->Loop = false;
m_World->CommitEntity(m_KrakenArm);
m_KrakenArmHitbox = m_World->CreateEntity(); m_KrakenArmHitbox = m_World->CreateEntity();
auto hb_transform = m_World->AddComponent<Components::Transform>(m_KrakenArmHitbox); auto hb_transform = m_World->AddComponent<Components::Transform>(m_KrakenArmHitbox);
@@ -525,10 +522,14 @@ bool dd::Systems::PadSystem::OnKrakenAttackEnd(const dd::Events::KrakenAttackEnd
m_KrakenStrength = 0; m_KrakenStrength = 0;
m_PlayerStrength = 0; m_PlayerStrength = 0;
m_World->RemoveEntity(m_KrakenArm); //m_World->RemoveEntity(m_KrakenArm);
m_World->RemoveEntity(m_KrakenArmHitbox);
m_KrakenArm = NULL; auto animation = m_World->GetComponent<Components::Animation>(m_KrakenArm);
m_KrakenArmHitbox = NULL; animation->Time = 0.0;
animation->Speed = -1.5;
m_World->RemoveEntity(m_KrakenArmHitbox);
//m_KrakenArm = NULL;
m_KrakenArmHitbox = 0;
return true; return true;
} }