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
+36 -35
View File
@@ -59,6 +59,9 @@ void dd::Systems::PadSystem::Initialize()
m_World->CommitEntity(ent);
SetEdge(3.2 - (ctransform->Scale.x / 2));
SetEntity(ent);
SetTransform(m_World->GetComponent<Components::Transform>(Entity()));
SetPad(m_World->GetComponent<Components::Pad>(Entity()));
}
//Stick
@@ -77,18 +80,31 @@ void dd::Systems::PadSystem::Initialize()
m_StickTransform = transform;
m_StickyAim = sticky;
/*{
auto entChild = m_World->CreateEntity(ent);
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(entChild);
transform->Position = glm::vec3(0.f, 12.5f, 0.f);
/*{
auto entChild = m_World->CreateEntity(ent);
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(entChild);
transform->Position = glm::vec3(0.f, 12.5f, 0.f);
transform->Scale = glm::vec3(0.1f, 25.f, 0.1f);
std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(entChild);
sprite->SpriteFile = "Models/Brick/White.png";
sprite->Color = glm::vec4(0.f, 0.5f, 0.f, 0.5f);
transform->Scale = glm::vec3(0.1f, 25.f, 0.1f);
std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(entChild);
sprite->SpriteFile = "Models/Brick/White.png";
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;
}
@@ -133,17 +149,6 @@ void dd::Systems::PadSystem::Update(double dt)
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) {
m_KrakenCharge -= m_KrakenStrength * dt;
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);
acceleration = glm::vec3(0, 0, 0);
LOG_INFO("Kraken arm duuude");
if (!m_KrakenArm){
LOG_INFO("InKrakenArmDuuude");
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;
animation->Loop = false;
m_World->CommitEntity(m_KrakenArm);
if (m_KrakenArmHitbox == 0) {
auto animation = m_World->GetComponent<Components::Animation>(m_KrakenArm);
animation->Time = 0.0;
animation->Speed = 1.0;
m_KrakenArmHitbox = m_World->CreateEntity();
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_PlayerStrength = 0;
m_World->RemoveEntity(m_KrakenArm);
m_World->RemoveEntity(m_KrakenArmHitbox);
m_KrakenArm = NULL;
m_KrakenArmHitbox = NULL;
//m_World->RemoveEntity(m_KrakenArm);
auto animation = m_World->GetComponent<Components::Animation>(m_KrakenArm);
animation->Time = 0.0;
animation->Speed = -1.5;
m_World->RemoveEntity(m_KrakenArmHitbox);
//m_KrakenArm = NULL;
m_KrakenArmHitbox = 0;
return true;
}