working on Lifebuoy

This commit is contained in:
viktorljung
2015-10-08 14:25:20 +02:00
parent 544a45d21d
commit c57181fb83
3 changed files with 11 additions and 7 deletions
+5 -3
View File
@@ -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);
+4 -2
View File
@@ -265,8 +265,10 @@ bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
ec.Ball = ballEntity; ec.Ball = ballEntity;
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;
+2 -2
View File
@@ -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,