Adjusted for merge. 10:16 works. Physics works. Game works. Safety copy made before this merge.
This commit is contained in:
@@ -3,10 +3,11 @@
|
|||||||
|
|
||||||
#include "Core/System.h"
|
#include "Core/System.h"
|
||||||
#include "Core/World.h"
|
#include "Core/World.h"
|
||||||
|
#include "Core/EventBroker.h"
|
||||||
#include "Core/CTransform.h"
|
#include "Core/CTransform.h"
|
||||||
#include "Physics/EContact.h"
|
#include "Physics/EContact.h"
|
||||||
#include "Core/EventBroker.h"
|
|
||||||
#include "Game/CBall.h"
|
#include "Game/CBall.h"
|
||||||
|
#include "Game/CPowerUp.h"
|
||||||
|
|
||||||
namespace dd {
|
namespace dd {
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Created by Administrator on 2015-09-22.
|
// Created by Adniklastrator on 2015-09-22.
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef DAYDREAM_CPOWERUPBRICK_H
|
#ifndef DAYDREAM_CPOWERUPBRICK_H
|
||||||
|
|||||||
+2
-2
@@ -21,8 +21,8 @@ struct Pad : Component
|
|||||||
int Points;
|
int Points;
|
||||||
|
|
||||||
float SlowdownModifier = 5.f;
|
float SlowdownModifier = 5.f;
|
||||||
float AccelerationSpeed = 80.f;
|
float AccelerationSpeed = 40.f;
|
||||||
float MaxSpeed = 40.f;
|
float MaxSpeed = 20.f;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Created by Administrator on 2015-09-22.
|
// Created by Adniklastrator on 2015-09-22.
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef DAYDREAM_CPOWERUP_H
|
#ifndef DAYDREAM_CPOWERUP_H
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Created by Administrator on 2015-09-22.
|
// Created by Adniklastrator on 2015-09-22.
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef DAYDREAM_ECREATEPOWERUP_H
|
#ifndef DAYDREAM_ECREATEPOWERUP_H
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// Created by Administrator on 2015-09-22.
|
// Created by Adniklastrator on 2015-09-22.
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef DAYDREAM_EGAMEOVER_H
|
#ifndef DAYDREAM_EGAMEOVER_H
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// Created by Adniklastrator on 2015-09-23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef DAYDREAM_EPOWERUPTAKEN_H
|
||||||
|
#define DAYDREAM_EPOWERUPTAKEN_H
|
||||||
|
|
||||||
|
#include "Core/EventBroker.h"
|
||||||
|
|
||||||
|
namespace dd
|
||||||
|
{
|
||||||
|
|
||||||
|
namespace Events
|
||||||
|
{
|
||||||
|
|
||||||
|
struct PowerUpTaken : Event
|
||||||
|
{
|
||||||
|
std::string Name = "Name";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //DAYDREAM_EPOWERUPTAKEN_H
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "Game/EMultiBall.h"
|
#include "Game/EMultiBall.h"
|
||||||
#include "Game/EGameOver.h"
|
#include "Game/EGameOver.h"
|
||||||
#include "Game/ECreatePowerUp.h"
|
#include "Game/ECreatePowerUp.h"
|
||||||
|
#include "Game/EPowerUpTaken.h"
|
||||||
#include "Game/Bricks/CPowerUpBrick.h"
|
#include "Game/Bricks/CPowerUpBrick.h"
|
||||||
#include "Physics/CBoxShape.h"
|
#include "Physics/CBoxShape.h"
|
||||||
#include "Physics/CPhysics.h"
|
#include "Physics/CPhysics.h"
|
||||||
@@ -60,11 +61,11 @@ public:
|
|||||||
|
|
||||||
void Initialize() override;
|
void Initialize() override;
|
||||||
|
|
||||||
void CreateBasicLevel(int, int, glm::vec2, int);
|
void CreateBasicLevel(int, int, glm::vec2, float);
|
||||||
void CreateLife(int);
|
void CreateLife(int);
|
||||||
void SaveLevel(int, int, glm::vec2, int); // Shouldn't be here, but I'm experimenting.
|
void SaveLevel(int, int, glm::vec2, int); // Shouldn't be here, but I'm experimenting.
|
||||||
void LoadLevel(char[20]);
|
void LoadLevel(char[20]);
|
||||||
void CreateBrick(int, int, glm::vec2, int, int);
|
void CreateBrick(int, int, glm::vec2, float, int);
|
||||||
void ProcessCollision();
|
void ProcessCollision();
|
||||||
|
|
||||||
void OnEntityRemoved(EntityID entity);
|
void OnEntityRemoved(EntityID entity);
|
||||||
@@ -92,8 +93,8 @@ public:
|
|||||||
void SetRows(const int& rows) { m_Rows = rows; }
|
void SetRows(const int& rows) { m_Rows = rows; }
|
||||||
int& Lines() { return m_Lines; }
|
int& Lines() { return m_Lines; }
|
||||||
void SetLines(const int& lines) { m_Lines = lines; }
|
void SetLines(const int& lines) { m_Lines = lines; }
|
||||||
int& SpaceToEdge() { return m_SpaceToEdge; }
|
float& SpaceToEdge() { return m_SpaceToEdge; }
|
||||||
void SetSpaceToEdge(const int& spaceToEdge) { m_SpaceToEdge = spaceToEdge; }
|
void SetSpaceToEdge(const float& spaceToEdge) { m_SpaceToEdge = spaceToEdge; }
|
||||||
|
|
||||||
glm::vec2& SpaceBetweenBricks() { return m_SpaceBetweenBricks; }
|
glm::vec2& SpaceBetweenBricks() { return m_SpaceBetweenBricks; }
|
||||||
void SetSpaceBetweenBricks(const glm::vec2& spaceBetweenBricks) { m_SpaceBetweenBricks = spaceBetweenBricks; }
|
void SetSpaceBetweenBricks(const glm::vec2& spaceBetweenBricks) { m_SpaceBetweenBricks = spaceBetweenBricks; }
|
||||||
@@ -108,20 +109,22 @@ private:
|
|||||||
int m_NumberOfBricks;
|
int m_NumberOfBricks;
|
||||||
int m_Rows = 6;
|
int m_Rows = 6;
|
||||||
int m_Lines = 7;
|
int m_Lines = 7;
|
||||||
int m_SpaceToEdge = 0;
|
float m_SpaceToEdge = 0.25f;
|
||||||
glm::vec2 m_SpaceBetweenBricks = glm::vec2(1, 0.25);
|
glm::vec2 m_SpaceBetweenBricks = glm::vec2(1, 0.5);
|
||||||
|
|
||||||
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;
|
||||||
dd::EventRelay<LevelSystem, dd::Events::ScoreEvent> m_EScoreEvent;
|
dd::EventRelay<LevelSystem, dd::Events::ScoreEvent> m_EScoreEvent;
|
||||||
dd::EventRelay<LevelSystem, dd::Events::MultiBall> m_EMultiBall;
|
dd::EventRelay<LevelSystem, dd::Events::MultiBall> m_EMultiBall;
|
||||||
dd::EventRelay<LevelSystem, dd::Events::CreatePowerUp> m_ECreatePowerUp;
|
dd::EventRelay<LevelSystem, dd::Events::CreatePowerUp> m_ECreatePowerUp;
|
||||||
|
dd::EventRelay<LevelSystem, dd::Events::PowerUpTaken> m_EPowerUpTaken;
|
||||||
|
|
||||||
bool OnContact(const dd::Events::Contact &event);
|
bool OnContact(const dd::Events::Contact &event);
|
||||||
bool OnLifeLost(const dd::Events::LifeLost &event);
|
bool OnLifeLost(const dd::Events::LifeLost &event);
|
||||||
bool OnScoreEvent(const dd::Events::ScoreEvent &event);
|
bool OnScoreEvent(const dd::Events::ScoreEvent &event);
|
||||||
bool OnMultiBall(const dd::Events::MultiBall &event);
|
bool OnMultiBall(const dd::Events::MultiBall &event);
|
||||||
bool OnCreatePowerUp(const dd::Events::CreatePowerUp &event);
|
bool OnCreatePowerUp(const dd::Events::CreatePowerUp &event);
|
||||||
|
bool OnPowerUpTaken(const dd::Events::PowerUpTaken &event);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include "Game/CPowerUp.h"
|
#include "Game/CPowerUp.h"
|
||||||
#include "Game/EResetBall.h"
|
#include "Game/EResetBall.h"
|
||||||
#include "Game/EMultiBall.h"
|
#include "Game/EMultiBall.h"
|
||||||
|
#include "Game/EPowerUpTaken.h"
|
||||||
|
|
||||||
|
|
||||||
namespace dd
|
namespace dd
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ set(SOURCE_FILES
|
|||||||
${SOURCE_FILES_Transform}
|
${SOURCE_FILES_Transform}
|
||||||
${SOURCE_FILES_Physics}
|
${SOURCE_FILES_Physics}
|
||||||
${SOURCE_FILES_Game}
|
${SOURCE_FILES_Game}
|
||||||
${SOURCE_FILES_Sound} ../../include/Game/EGameOver.h ../../include/Game/Bricks/CPowerUpBrick.h ../../include/Game/CPowerUp.h ../../include/Game/ECreatePowerUp.h)
|
${SOURCE_FILES_Sound} ../../include/Game/EGameOver.h ../../include/Game/Bricks/CPowerUpBrick.h ../../include/Game/CPowerUp.h ../../include/Game/ECreatePowerUp.h ../../include/Game/EPowerUpTaken.h)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
||||||
|
|||||||
@@ -45,11 +45,21 @@ void dd::Systems::BallSystem::OnEntityRemoved(EntityID entity)
|
|||||||
|
|
||||||
bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
|
bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
|
||||||
{
|
{
|
||||||
|
Components::PowerUp* power1 = m_World->GetComponent<Components::PowerUp>(event.Entity1);
|
||||||
|
Components::PowerUp* power2 = m_World->GetComponent<Components::PowerUp>(event.Entity2);
|
||||||
|
|
||||||
|
if (power1 != nullptr || power2 != nullptr) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Components::Ball* ballComponent1 = m_World->GetComponent<Components::Ball>(event.Entity1);
|
Components::Ball* ballComponent1 = m_World->GetComponent<Components::Ball>(event.Entity1);
|
||||||
Components::Ball* ballComponent2 = m_World->GetComponent<Components::Ball>(event.Entity2);
|
Components::Ball* ballComponent2 = m_World->GetComponent<Components::Ball>(event.Entity2);
|
||||||
Components::Ball* ballComponent;
|
Components::Ball* ballComponent;
|
||||||
|
|
||||||
|
if (ballComponent1 != nullptr && ballComponent2 != nullptr) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//Which is the ball?
|
//Which is the ball?
|
||||||
EntityID ballEntity, otherEntitiy;
|
EntityID ballEntity, otherEntitiy;
|
||||||
|
|
||||||
@@ -76,7 +86,7 @@ bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
|
|||||||
float x = ballTransform->Position.x - padTransform->Position.x;
|
float x = ballTransform->Position.x - padTransform->Position.x;
|
||||||
|
|
||||||
float movementMultiplier = 5.0f;
|
float movementMultiplier = 5.0f;
|
||||||
float y = glm::cos((abs(x) / ((1.6f) * movementMultiplier)) * glm::pi<float>() / 2.f) + 1.f;
|
float y = glm::cos((abs(x) / (1.6f)) * glm::pi<float>() / 2.f) + 1.f;
|
||||||
|
|
||||||
ballTransform->Velocity = glm::normalize(glm::vec3(x, y ,0.f)) * ballComponent->Speed;
|
ballTransform->Velocity = glm::normalize(glm::vec3(x, y ,0.f)) * ballComponent->Speed;
|
||||||
}
|
}
|
||||||
@@ -85,9 +95,5 @@ bool dd::Systems::BallSystem::Contact(const Events::Contact &event)
|
|||||||
ballTransform->Velocity = glm::vec3(reflectedVelocity, 0.f);
|
ballTransform->Velocity = glm::vec3(reflectedVelocity, 0.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ void dd::Systems::LevelSystem::Initialize()
|
|||||||
EVENT_SUBSCRIBE_MEMBER(m_EScoreEvent, LevelSystem::OnScoreEvent);
|
EVENT_SUBSCRIBE_MEMBER(m_EScoreEvent, LevelSystem::OnScoreEvent);
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EMultiBall, LevelSystem::OnMultiBall);
|
EVENT_SUBSCRIBE_MEMBER(m_EMultiBall, LevelSystem::OnMultiBall);
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_ECreatePowerUp, LevelSystem::OnCreatePowerUp);
|
EVENT_SUBSCRIBE_MEMBER(m_ECreatePowerUp, LevelSystem::OnCreatePowerUp);
|
||||||
|
EVENT_SUBSCRIBE_MEMBER(m_EPowerUpTaken, LevelSystem::OnPowerUpTaken);
|
||||||
|
|
||||||
for (int i = 0; i < Lives(); i++) {
|
for (int i = 0; i < Lives(); i++) {
|
||||||
CreateLife(i);
|
CreateLife(i);
|
||||||
@@ -26,7 +27,7 @@ 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.5f, -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);
|
||||||
|
|
||||||
std::shared_ptr<Components::Life> lifeNr = m_World->AddComponent<Components::Life>(life);
|
std::shared_ptr<Components::Life> lifeNr = m_World->AddComponent<Components::Life>(life);
|
||||||
@@ -35,8 +36,6 @@ void dd::Systems::LevelSystem::CreateLife(int number)
|
|||||||
auto model = m_World->AddComponent<Components::Model>(life);
|
auto model = m_World->AddComponent<Components::Model>(life);
|
||||||
model->ModelFile = "Models/Test/Ball/Ballopus.obj";
|
model->ModelFile = "Models/Test/Ball/Ballopus.obj";
|
||||||
|
|
||||||
/*std::shared_ptr<Components::Sprite> sprite = m_World->AddComponent<Components::Sprite>(life);
|
|
||||||
sprite->SpriteFile = "Textures/Ball.png";*/
|
|
||||||
|
|
||||||
m_World->CommitEntity(life);
|
m_World->CommitEntity(life);
|
||||||
}
|
}
|
||||||
@@ -62,7 +61,7 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
|
|||||||
|
|
||||||
if (ball != NULL) {
|
if (ball != NULL) {
|
||||||
auto transformBall = m_World->GetComponent<Components::Transform>(entity);
|
auto transformBall = m_World->GetComponent<Components::Transform>(entity);
|
||||||
if (transformBall->Position.y < -10 || glm::abs(transformBall->Position.x) > 5) {
|
if (transformBall->Position.y < -10) {
|
||||||
if (MultiBalls() != 0) {
|
if (MultiBalls() != 0) {
|
||||||
SetMultiBalls(MultiBalls() - 1);
|
SetMultiBalls(MultiBalls() - 1);
|
||||||
m_World->RemoveEntity(entity);
|
m_World->RemoveEntity(entity);
|
||||||
@@ -74,6 +73,16 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
|
|||||||
EventBroker->Publish(be);
|
EventBroker->Publish(be);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else if (transformBall->Position.x > 3.2) {
|
||||||
|
if (transformBall->Velocity.x > 0) {
|
||||||
|
glm::vec2 reflectedVelocity = glm::reflect(glm::vec2(transformBall->Velocity.x, transformBall->Velocity.y), glm::vec2(1, 0));
|
||||||
|
transformBall->Velocity = glm::vec3(reflectedVelocity, 0.f);
|
||||||
|
}
|
||||||
|
} else if (transformBall->Position.x < -3.2) {
|
||||||
|
if (transformBall->Velocity.x < 0) {
|
||||||
|
glm::vec2 reflectedVelocity = glm::reflect(glm::vec2(transformBall->Velocity.x, transformBall->Velocity.y), glm::vec2(-1, 0));
|
||||||
|
transformBall->Velocity = glm::vec3(reflectedVelocity, 0.f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +118,7 @@ void dd::Systems::LevelSystem::UpdateEntity(double dt, EntityID entity, EntityID
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dd::Systems::LevelSystem::CreateBasicLevel(int rows, int lines, glm::vec2 spacesBetweenBricks, int spaceToEdge)
|
void dd::Systems::LevelSystem::CreateBasicLevel(int rows, int lines, glm::vec2 spacesBetweenBricks, float spaceToEdge)
|
||||||
{
|
{
|
||||||
int num = 0;
|
int num = 0;
|
||||||
SetNumberOfBricks(rows * lines);
|
SetNumberOfBricks(rows * lines);
|
||||||
@@ -125,7 +134,7 @@ void dd::Systems::LevelSystem::CreateBasicLevel(int rows, int lines, glm::vec2 s
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spacesBetweenBricks, int spaceToEdge, int num)
|
void dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spacesBetweenBricks, float spaceToEdge, int num)
|
||||||
{
|
{
|
||||||
auto brick = m_World->CreateEntity();
|
auto brick = m_World->CreateEntity();
|
||||||
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(brick);
|
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(brick);
|
||||||
@@ -142,10 +151,10 @@ void dd::Systems::LevelSystem::CreateBrick(int row, int line, glm::vec2 spacesBe
|
|||||||
if ((line == 1 && row == 4) || (line == 3 && row == 2) || (line == 6 && row == 6)) {
|
if ((line == 1 && row == 4) || (line == 3 && row == 2) || (line == 6 && row == 6)) {
|
||||||
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 = spaceToEdge + line * spacesBetweenBricks.x;
|
float x = line * spacesBetweenBricks.x;
|
||||||
float y = spaceToEdge + row * spacesBetweenBricks.y;
|
float y = row * spacesBetweenBricks.y;
|
||||||
transform->Scale = glm::vec3(0.8, 0.2, 0.2);
|
transform->Scale = glm::vec3(0.8, 0.2, 0.2);
|
||||||
transform->Position = glm::vec3(x - 3, y + 3, -10.f);
|
transform->Position = glm::vec3(x - 3, 5 - spaceToEdge - y , -10.f);
|
||||||
cBrick->Score = 10 * num;
|
cBrick->Score = 10 * num;
|
||||||
|
|
||||||
//sound
|
//sound
|
||||||
@@ -273,6 +282,12 @@ bool dd::Systems::LevelSystem::OnCreatePowerUp(const dd::Events::CreatePowerUp &
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool dd::Systems::LevelSystem::OnPowerUpTaken(const dd::Events::PowerUpTaken &event)
|
||||||
|
{
|
||||||
|
SetPowerUps(PowerUps() - 1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void dd::Systems::LevelSystem::EndLevel()
|
void dd::Systems::LevelSystem::EndLevel()
|
||||||
{
|
{
|
||||||
Events::StageCleared e;
|
Events::StageCleared e;
|
||||||
|
|||||||
@@ -40,8 +40,6 @@ void dd::Systems::PadSystem::UpdateEntity(double dt, EntityID entity, EntityID p
|
|||||||
auto transform = m_World->GetComponent<Components::Transform>(entity);
|
auto transform = m_World->GetComponent<Components::Transform>(entity);
|
||||||
transform->Position = glm::vec3(0.0f, 0.f, -10.f);
|
transform->Position = glm::vec3(0.0f, 0.f, -10.f);
|
||||||
transform->Velocity = glm::vec3(0.0f, -ball->Speed, 0.f);
|
transform->Velocity = glm::vec3(0.0f, -ball->Speed, 0.f);
|
||||||
auto ent = CreateBall();
|
|
||||||
auto transform = m_World->GetComponent<Components::Transform>(ent);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,6 +108,8 @@ EntityID dd::Systems::PadSystem::CreateBall()
|
|||||||
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(ent);
|
std::shared_ptr<Components::Physics> physics = m_World->AddComponent<Components::Physics>(ent);
|
||||||
physics->Static = false;
|
physics->Static = false;
|
||||||
|
|
||||||
|
cball->Speed = 10;
|
||||||
|
|
||||||
m_World->CommitEntity(ent);
|
m_World->CommitEntity(ent);
|
||||||
|
|
||||||
return ent;
|
return ent;
|
||||||
@@ -232,6 +232,10 @@ bool dd::Systems::PadSystem::OnContactPowerUp(const dd::Events::Contact &event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_World->RemoveEntity(entityPower);
|
m_World->RemoveEntity(entityPower);
|
||||||
|
Events::PowerUpTaken ep;
|
||||||
|
ep.Name = "Something";
|
||||||
|
EventBroker->Publish(ep);
|
||||||
|
|
||||||
Events::MultiBall e;
|
Events::MultiBall e;
|
||||||
auto transform = m_World->GetComponent<Components::Transform>(entityPad);
|
auto transform = m_World->GetComponent<Components::Transform>(entityPad);
|
||||||
e.padTransform = transform;
|
e.padTransform = transform;
|
||||||
@@ -262,17 +266,8 @@ bool dd::Systems::PadSystem::OnMultiBall(const dd::Events::MultiBall &event)
|
|||||||
transform1->Position = glm::vec3(x1, -5, -10);
|
transform1->Position = glm::vec3(x1, -5, -10);
|
||||||
transform2->Position = glm::vec3(x2, -5, -10);
|
transform2->Position = glm::vec3(x2, -5, -10);
|
||||||
|
|
||||||
Events::SetImpulse e1;
|
transform1->Velocity = glm::vec3(5, 5, 0);
|
||||||
e1.Entity = ent1;
|
transform2->Velocity = glm::vec3(-5, 5, 0);
|
||||||
e1.Impulse = glm::vec2(2, 2);
|
|
||||||
e1.Point = glm::vec2(transform1->Position.x, transform1->Position.y);
|
|
||||||
EventBroker->Publish(e1);
|
|
||||||
|
|
||||||
Events::SetImpulse e2;
|
|
||||||
e2.Entity = ent2;
|
|
||||||
e2.Impulse = glm::vec2(-2, 2);
|
|
||||||
e2.Point = glm::vec2(transform2->Position.x, transform2->Position.y);
|
|
||||||
EventBroker->Publish(e2);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user