working on Lifebuoy
This commit is contained in:
@@ -267,6 +267,8 @@ public:
|
|||||||
rectangleShape->Dimensions = glm::vec2(20.f, 0.5f);
|
rectangleShape->Dimensions = glm::vec2(20.f, 0.5f);
|
||||||
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(BottomWall);
|
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(BottomWall);
|
||||||
physics->CollisionType = CollisionType::Type::Static;
|
physics->CollisionType = CollisionType::Type::Static;
|
||||||
|
physics->Category = CollisionLayer::Wall;
|
||||||
|
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Other);
|
||||||
transform->Sticky = true;
|
transform->Sticky = true;
|
||||||
m_World->CommitEntity(BottomWall);
|
m_World->CommitEntity(BottomWall);
|
||||||
}
|
}
|
||||||
@@ -286,7 +288,7 @@ public:
|
|||||||
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(topWall);
|
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(topWall);
|
||||||
physics->CollisionType = CollisionType::Type::Static;
|
physics->CollisionType = CollisionType::Type::Static;
|
||||||
physics->Category = CollisionLayer::Wall;
|
physics->Category = CollisionLayer::Wall;
|
||||||
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
|
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick | CollisionLayer::Other);
|
||||||
transform->Sticky = true;
|
transform->Sticky = true;
|
||||||
|
|
||||||
m_World->CommitEntity(topWall);
|
m_World->CommitEntity(topWall);
|
||||||
@@ -308,7 +310,7 @@ public:
|
|||||||
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(leftWall);
|
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(leftWall);
|
||||||
physics->CollisionType = CollisionType::Type::Static;
|
physics->CollisionType = CollisionType::Type::Static;
|
||||||
physics->Category = CollisionLayer::Wall;
|
physics->Category = CollisionLayer::Wall;
|
||||||
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
|
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick | CollisionLayer::Other);
|
||||||
transform->Sticky = true;
|
transform->Sticky = true;
|
||||||
|
|
||||||
m_World->CommitEntity(leftWall);
|
m_World->CommitEntity(leftWall);
|
||||||
@@ -330,7 +332,7 @@ public:
|
|||||||
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(rightWall);
|
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(rightWall);
|
||||||
physics->CollisionType = CollisionType::Type::Static;
|
physics->CollisionType = CollisionType::Type::Static;
|
||||||
physics->Category = CollisionLayer::Wall;
|
physics->Category = CollisionLayer::Wall;
|
||||||
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick);
|
physics->Mask = static_cast<CollisionLayer::Type>(CollisionLayer::Ball | CollisionLayer::Brick | CollisionLayer::Other);
|
||||||
transform->Sticky = true;
|
transform->Sticky = true;
|
||||||
|
|
||||||
m_World->CommitEntity(rightWall);
|
m_World->CommitEntity(rightWall);
|
||||||
|
|||||||
@@ -266,7 +266,9 @@ bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
|
|||||||
EventBroker->Publish(ec);
|
EventBroker->Publish(ec);
|
||||||
//std::cout << "Combo: " << ballComponent->Combo << std::endl;
|
//std::cout << "Combo: " << ballComponent->Combo << std::endl;
|
||||||
}
|
}
|
||||||
else {
|
else if (m_World->GetProperty<std::string>(otherEntitiy, "Name") == "Lifebuoy"){
|
||||||
|
LOG_INFO("Lifebuoy collision!");
|
||||||
|
} else {
|
||||||
auto it = m_Contacts.find(ballEntity);
|
auto it = m_Contacts.find(ballEntity);
|
||||||
if (it == m_Contacts.end()) {
|
if (it == m_Contacts.end()) {
|
||||||
std::list<glm::vec2> normalList;
|
std::list<glm::vec2> normalList;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ void dd::Systems::LevelSystem::Initialize()
|
|||||||
cPhys->CollisionType = CollisionType::Type::Static;
|
cPhys->CollisionType = CollisionType::Type::Static;
|
||||||
cPhys->GravityScale = 0.f;
|
cPhys->GravityScale = 0.f;
|
||||||
cPhys->Category = CollisionLayer::Type::Brick;
|
cPhys->Category = CollisionLayer::Type::Brick;
|
||||||
cPhys->Mask = CollisionLayer::Type::Ball;
|
cPhys->Mask = static_cast<CollisionLayer::Type> (CollisionLayer::Type::Ball | CollisionLayer::Type::Wall);
|
||||||
transform->Sticky = false;
|
transform->Sticky = false;
|
||||||
|
|
||||||
model->ModelFile = "Models/Brick/WhiteBrick.obj";
|
model->ModelFile = "Models/Brick/WhiteBrick.obj";
|
||||||
@@ -420,7 +420,7 @@ void dd::Systems::LevelSystem::GetNextLevel()
|
|||||||
1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 2, 1, 2, 1, 2, 1,
|
1, 2, 1, 2, 1, 2, 1,
|
||||||
1, 1, 0, 1, 0, 1, 1,
|
1, 1, 0, 1, 0, 1, 1,
|
||||||
1, 0, 0, 3, 0, 0, 1};
|
1, 3, 3, 3, 3, 3, 1};
|
||||||
} else if (m_CurrentLevel == 2) {
|
} else if (m_CurrentLevel == 2) {
|
||||||
level =
|
level =
|
||||||
{1, 0, 0, 0, 0, 0, 1,
|
{1, 0, 0, 0, 0, 0, 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user