Removed Stage Reset and Life Display.

This commit is contained in:
PlatinumSkink
2015-09-24 18:58:34 +02:00
parent 4e4ba29666
commit 8bf10d4517
3 changed files with 29 additions and 21 deletions
+3
View File
@@ -104,6 +104,8 @@ public:
void SetEdgeX(const float& edgeX) { m_EdgeX = edgeX; } void SetEdgeX(const float& edgeX) { m_EdgeX = edgeX; }
float& EdgeY() { return m_EdgeY; } float& EdgeY() { return m_EdgeY; }
void SetEdgeY(const float& edgeY) { m_EdgeY = edgeY; } void SetEdgeY(const float& edgeY) { m_EdgeY = edgeY; }
float& NotResettingTheStage() { return m_NotResettingTheStage; }
void SetNotResettingTheStage(const float& notResettingTheStage) { m_NotResettingTheStage = notResettingTheStage; }
private: private:
bool m_Restarting = false; bool m_Restarting = false;
@@ -120,6 +122,7 @@ private:
glm::vec2 m_SpaceBetweenBricks = glm::vec2(1, 0.4); glm::vec2 m_SpaceBetweenBricks = glm::vec2(1, 0.4);
float m_EdgeX = 3.2f; float m_EdgeX = 3.2f;
float m_EdgeY = 5.2f; float m_EdgeY = 5.2f;
float m_NotResettingTheStage = 5.f;
dd::EventRelay<LevelSystem, dd::Events::Contact> m_EContact; dd::EventRelay<LevelSystem, dd::Events::Contact> m_EContact;
dd::EventRelay<LevelSystem, dd::Events::LifeLost> m_ELifeLost; dd::EventRelay<LevelSystem, dd::Events::LifeLost> m_ELifeLost;
+25 -20
View File
@@ -26,7 +26,7 @@ void dd::Systems::LevelSystem::Initialize()
void dd::Systems::LevelSystem::CreateLife(int number) void dd::Systems::LevelSystem::CreateLife(int number)
{ {
auto life = m_World->CreateEntity(); /*auto life = m_World->CreateEntity();
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(life); std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(life);
transform->Position = glm::vec3(-1.5f + number * 0.15f, -2.f, -5.f); transform->Position = glm::vec3(-1.5f + number * 0.15f, -2.f, -5.f);
transform->Scale = glm::vec3(0.1f, 0.1f, 0.1f); transform->Scale = glm::vec3(0.1f, 0.1f, 0.1f);
@@ -38,7 +38,7 @@ void dd::Systems::LevelSystem::CreateLife(int number)
model->ModelFile = "Models/Test/Ball/Ballopus.obj"; model->ModelFile = "Models/Test/Ball/Ballopus.obj";
m_World->CommitEntity(life); m_World->CommitEntity(life);*/
} }
void dd::Systems::LevelSystem::Update(double dt) void dd::Systems::LevelSystem::Update(double dt)
@@ -59,6 +59,7 @@ void dd::Systems::LevelSystem::Update(double dt)
void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID parent) void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
{ {
auto ball = m_World->GetComponent<Components::Ball>(entity); auto ball = m_World->GetComponent<Components::Ball>(entity);
SetNotResettingTheStage(NotResettingTheStage() + 0.01 * dt);
if (ball != nullptr) { if (ball != nullptr) {
auto transformBall = m_World->GetComponent<Components::Transform>(entity); auto transformBall = m_World->GetComponent<Components::Transform>(entity);
@@ -104,27 +105,30 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
} }
if (Lives() != PastLives()) { if (Lives() != PastLives()) {
auto life = m_World->GetComponent<Components::Life>(entity); /*auto life = m_World->GetComponent<Components::Life>(entity);
if (life != nullptr) { if (life != nullptr) {
if (life->Number + 1 == PastLives()) { if (life->Number + 1 == PastLives()) {
m_World->RemoveComponent<Components::Life>(entity); /*m_World->RemoveComponent<Components::Life>(entity);
m_World->RemoveComponent<Components::Transform>(entity); m_World->RemoveComponent<Components::Transform>(entity);
m_World->RemoveEntity(entity); m_World->RemoveEntity(entity);*/
SetPastLives(Lives()); SetPastLives(Lives());
} // }
} //}
} }
if (NumberOfBricks() <= 0) { if (NumberOfBricks() <= 0) {
/*SetRestarting(true); /*SetRestarting(true);
if (MultiBalls() <= 0 && PowerUps() <= 0) { if (MultiBalls() <= 0 && PowerUps() <= 0) {
Events::ResetBall e; if (NotResettingTheStage() > 5) {
EventBroker->Publish(e); Events::ResetBall e;
Events::ScoreEvent es; EventBroker->Publish(e);
es.Score = 500; Events::ScoreEvent es;
EventBroker->Publish(es); es.Score = 500;
Events::StageCleared ec; EventBroker->Publish(es);
EventBroker->Publish(ec); Events::StageCleared ec;
CreateBasicLevel(Rows(), Lines(), SpaceBetweenBricks(), SpaceToEdge()); EventBroker->Publish(ec);
SetNotResettingTheStage(0);
CreateBasicLevel(Rows(), Lines(), SpaceBetweenBricks(), SpaceToEdge());
}
} else { } else {
if (ball != nullptr && MultiBalls() > 0) { if (ball != nullptr && MultiBalls() > 0) {
SetMultiBalls(MultiBalls() - 1); SetMultiBalls(MultiBalls() - 1);
@@ -150,7 +154,7 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
void dd::Systems::LevelSystem::CreateBasicLevel(int rows, int lines, glm::vec2 spacesBetweenBricks, float spaceToEdge) void dd::Systems::LevelSystem::CreateBasicLevel(int rows, int lines, glm::vec2 spacesBetweenBricks, float spaceToEdge)
{ {
SetNumberOfBricks(rows * lines); SetNumberOfBricks(rows * lines);
std::cout << "You're only doing this once, right?" << std::endl; //std::cout << "You're only doing this once, right?" << std::endl;
int num = 0; int num = 0;
for (int i = 0; i < rows; i++) { for (int i = 0; i < rows; i++) {
num++; num++;
@@ -180,7 +184,7 @@ void dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spacesBe
fileName.append(".png"); fileName.append(".png");
//sprite->SpriteFile = fileName; //sprite->SpriteFile = fileName;
model->ModelFile = "Models/Test/Brick/Brick.obj"; model->ModelFile = "Models/Test/Brick/Brick.obj";
if ((line == 1 && row == 4) || (line == 3 && row == 2) || (line == 6 && row == 6)) { if ((line == 1 && row == 4) || (line == 3 && row == 2) || (line == 5 && row == 2)) {
std::shared_ptr<Components::PowerUpBrick> cPow = m_World->AddComponent<Components::PowerUpBrick>(brick); std::shared_ptr<Components::PowerUpBrick> cPow = m_World->AddComponent<Components::PowerUpBrick>(brick);
} }
float x = line * spacesBetweenBricks.x; float x = line * spacesBetweenBricks.x;
@@ -251,7 +255,7 @@ bool dd::Systems::LevelSystem::OnContact(const dd::Events::Contact &event)
} }
auto power = m_World->GetComponent<Components::PowerUpBrick>(entityBrick); auto power = m_World->GetComponent<Components::PowerUpBrick>(entityBrick);
if (power != nullptr) { if (power != nullptr && NumberOfBricks() > 1) {
Events::CreatePowerUp e; Events::CreatePowerUp e;
auto transform = m_World->GetComponent<Components::Transform>(entityBrick); auto transform = m_World->GetComponent<Components::Transform>(entityBrick);
e.Position = transform->Position; e.Position = transform->Position;
@@ -267,15 +271,16 @@ bool dd::Systems::LevelSystem::OnContact(const dd::Events::Contact &event)
m_World->RemoveComponent<Components::Physics>(entityBrick); m_World->RemoveComponent<Components::Physics>(entityBrick);
m_World->RemoveEntity(entityBrick); m_World->RemoveEntity(entityBrick);
SetNumberOfBricks(NumberOfBricks() - 1); SetNumberOfBricks(NumberOfBricks() - 1);
if (NumberOfBricks() <= 0) { if (NumberOfBricks() <= 0) {
SetMultiBalls(MultiBalls() + 1); //SetMultiBalls(MultiBalls() + 1);
} }
Events::ScoreEvent es; Events::ScoreEvent es;
es.Score = brick->Score; es.Score = brick->Score;
EventBroker->Publish(es); EventBroker->Publish(es);
std::cout << NumberOfBricks() << std::endl; //std::cout << NumberOfBricks() << std::endl;
//std::cout << "Score: " << Score() << std::endl; //std::cout << "Score: " << Score() << std::endl;
} }
+1 -1
View File
@@ -282,7 +282,7 @@ bool dd::Systems::PadSystem::OnMultiBall(const dd::Events::MultiBall &event)
bool dd::Systems::PadSystem::OnStageCleared(const dd::Events::StageCleared &event) bool dd::Systems::PadSystem::OnStageCleared(const dd::Events::StageCleared &event)
{ {
auto entity = CreateBall(); //auto entity = CreateBall();
return true; return true;
} }