Kraken arm now splashes around when it arrives
This commit is contained in:
@@ -104,7 +104,8 @@ 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;
|
EntityID m_KrakenArm = NULL;
|
||||||
|
EntityID m_KrakenArmHitbox = NULL;
|
||||||
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;
|
||||||
|
|||||||
@@ -437,7 +437,7 @@ EntityID dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spac
|
|||||||
auto type = m_World->AddComponent<Components::StickyBrick>(brick);
|
auto type = m_World->AddComponent<Components::StickyBrick>(brick);
|
||||||
model->ModelFile = "Models/Brick/StickyBrick.obj";
|
model->ModelFile = "Models/Brick/StickyBrick.obj";
|
||||||
} else if (typeInt == InkBlasterBrick) {
|
} else if (typeInt == InkBlasterBrick) {
|
||||||
cBrick->Type = InkBlasterBrick;
|
cBrick->Type = InkBlasterBrick;
|
||||||
auto type = m_World->AddComponent<Components::InkBlasterBrick>(brick);
|
auto type = m_World->AddComponent<Components::InkBlasterBrick>(brick);
|
||||||
//model->ModelFile = "Models/Brick/InkBrick.obj";
|
//model->ModelFile = "Models/Brick/InkBrick.obj";
|
||||||
model->Color = glm::vec4(0.1f, 0.1f, 0.1f, 1.0f);
|
model->Color = glm::vec4(0.1f, 0.1f, 0.1f, 1.0f);
|
||||||
@@ -1098,7 +1098,7 @@ void dd::Systems::LevelSystem::GetNextLevel()
|
|||||||
1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 0, 1, 2, 1, 0, 1,
|
1, 0, 1, 2, 1, 0, 1,
|
||||||
0, 1, 0, 1, 0, 1, 0,
|
0, 1, 0, 1, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 6,
|
||||||
0, 0, 0, 0, 0, 0, 0};
|
0, 0, 0, 0, 0, 0, 0};
|
||||||
color =
|
color =
|
||||||
{w, w, w, w, w, w, w,
|
{w, w, w, w, w, w, w,
|
||||||
|
|||||||
@@ -473,16 +473,35 @@ 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_KrakenArm){
|
if (!m_KrakenArm){
|
||||||
|
LOG_INFO("InKrakenArmDuuude");
|
||||||
m_KrakenArm = m_World->CreateEntity(Entity());
|
m_KrakenArm = m_World->CreateEntity(Entity());
|
||||||
auto transform = m_World->AddComponent<Components::Transform>(m_KrakenArm);
|
auto transform = m_World->AddComponent<Components::Transform>(m_KrakenArm);
|
||||||
transform->Position = glm::vec3(1.f, -3.0f, 0.f);
|
transform->Position = glm::vec3(1.f, -3.0f, 0.f);
|
||||||
auto model = m_World->AddComponent<Components::Model>(m_KrakenArm);
|
auto model = m_World->AddComponent<Components::Model>(m_KrakenArm);
|
||||||
model->ModelFile = "Models/kraken/Arm.dae";
|
model->ModelFile = "Models/Kraken/Arm.dae";
|
||||||
auto animation = m_World->AddComponent<Components::Animation>(m_KrakenArm);
|
auto animation = m_World->AddComponent<Components::Animation>(m_KrakenArm);
|
||||||
animation->Speed = 1.0f;
|
animation->Speed = 1.0f;
|
||||||
m_World->CommitEntity(m_KrakenArm);
|
m_World->CommitEntity(m_KrakenArm);
|
||||||
|
|
||||||
|
m_KrakenArmHitbox = m_World->CreateEntity();
|
||||||
|
auto hb_transform = m_World->AddComponent<Components::Transform>(m_KrakenArmHitbox);
|
||||||
|
hb_transform->Position = transform->Position + glm::vec3(-1.f, -5.0f, -10.f);
|
||||||
|
//hb_transform->Position = glm::vec3(-2.f, -8.0f, -10.f);
|
||||||
|
hb_transform->Scale = glm::vec3(2.5f, 2.5f, 1.f);
|
||||||
|
hb_transform->Velocity = glm::vec3(0.f, 10.f, 0.f);
|
||||||
|
//auto hb_sprite = m_World->AddComponent<Components::Sprite>(m_KrakenArmHitbox);
|
||||||
|
//hb_sprite->SpriteFile = "Textures/Core/ErrorTexture.png";
|
||||||
|
auto hb_physics = m_World->AddComponent<Components::Physics>(m_KrakenArmHitbox);
|
||||||
|
hb_physics->Calculate = true;
|
||||||
|
hb_physics->CollisionType = CollisionType::Type::Static;
|
||||||
|
hb_physics->Category = CollisionLayer::Type::Other;
|
||||||
|
hb_physics->Mask = CollisionLayer::Type::Water;
|
||||||
|
hb_physics->GravityScale = 0.f;
|
||||||
|
auto hb_HitBox = m_World->AddComponent<Components::CircleShape>(m_KrakenArmHitbox);
|
||||||
|
hb_HitBox->Radius = 1.25f;
|
||||||
|
m_World->CommitEntity(m_KrakenArmHitbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetTransform(transform);
|
SetTransform(transform);
|
||||||
@@ -494,7 +513,9 @@ bool dd::Systems::PadSystem::OnKrakenAttack(const dd::Events::KrakenAttack &even
|
|||||||
m_PlayerStrength = 0;
|
m_PlayerStrength = 0;
|
||||||
|
|
||||||
m_World->RemoveEntity(m_KrakenArm);
|
m_World->RemoveEntity(m_KrakenArm);
|
||||||
|
m_World->RemoveEntity(m_KrakenArmHitbox);
|
||||||
m_KrakenArm = NULL;
|
m_KrakenArm = NULL;
|
||||||
|
m_KrakenArmHitbox = NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ void dd::Systems::PhysicsSystem::InitializeWater()
|
|||||||
m_ParticleSystemDef.radius = radius;
|
m_ParticleSystemDef.radius = radius;
|
||||||
m_ParticleSystemDef.gravityScale = gravityScale;
|
m_ParticleSystemDef.gravityScale = gravityScale;
|
||||||
m_ParticleSystemDef.density = 4.f;
|
m_ParticleSystemDef.density = 4.f;
|
||||||
|
m_ParticleSystemDef.surfaceTensionNormalStrength = 0.07;
|
||||||
|
|
||||||
m_WaterParticleSystem = m_PhysicsWorld->CreateParticleSystem(&m_ParticleSystemDef);
|
m_WaterParticleSystem = m_PhysicsWorld->CreateParticleSystem(&m_ParticleSystemDef);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user