Kod för boll mot bricka kollision

This commit is contained in:
PlatinumSkink
2015-09-10 21:30:39 +02:00
parent 16c5d2a40f
commit a047e46fe9
2 changed files with 53 additions and 1 deletions
+47
View File
@@ -39,6 +39,7 @@ void dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spacesBe
auto brick = m_World->CreateEntity();
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(brick);
std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(brick);
std::shared_ptr<Components::Brick> cBrick = m_World->AddComponent<Components::Brick>(brick);
std::string fileName = "Textures/Bricks/";
fileName.append(std::to_string(num));
fileName.append(".png");
@@ -71,6 +72,52 @@ void dd::Systems::LevelSystem::OnEntityRemoved(EntityID entity)
return;
}
bool dd::Systems::LevelSystem::OnContact(/*const dd::Events::Contact &event,*/)
{
/*event.Entity1 - Vi vet inte vilken som.
event.Entity2 - */
std::string event = "I'm just a placeholder :(";
EntityID entityBrick;
EntityID entityBall;
EntityID entity1;
EntityID entity2;
EntityID ball;
auto brick = m_World->GetComponent<Components::Brick>(entity1);
if (brick != NULL)
{
entityBrick = entity1;
ball = m_World->GetComponent<Components::Ball>(entity2);
if (ball != NULL)
{
entityBall = entity2;
}
}
else
{
brick = m_World->GetComponent<Components::Brick>(entity2);
if (brick != NULL)
{
entityBrick = entity2;
}
ball = m_World->GetComponent<Components::Ball>(entity1);
if (ball != NULL)
{
entityBall = entity1;
}
}
if (entityBrick != NULL && entityBall != NULL)
{
m_World->RemoveEntity(entityBrick);
return true;
}
return false;
}
void dd::Systems::LevelSystem::EndLevel()
{
Events::StageCleared e;