Some cleanup of the code
This commit is contained in:
@@ -5,35 +5,23 @@
|
|||||||
#include "Core/Transform.h"
|
#include "Core/Transform.h"
|
||||||
#include "Core/ResourceManager.h"
|
#include "Core/ResourceManager.h"
|
||||||
#include "Core/EntityFileParser.h"
|
#include "Core/EntityFileParser.h"
|
||||||
#include "Core/EPickupSpawned.h"
|
|
||||||
#include "Core/EPlayerDamage.h"
|
#include "Core/EPlayerDamage.h"
|
||||||
#include "Engine/Collision/ETrigger.h"
|
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
|
||||||
//temp
|
|
||||||
#include "Input/EInputCommand.h"
|
|
||||||
#include "Rendering/ESetCamera.h"
|
#include "Rendering/ESetCamera.h"
|
||||||
|
|
||||||
#include <glm/gtc/quaternion.hpp>
|
#include <glm/gtc/quaternion.hpp>
|
||||||
#include <glm/gtx/vector_angle.hpp>
|
#include <glm/gtx/vector_angle.hpp>
|
||||||
|
|
||||||
class DamageIndicatorSystem : public ImpureSystem
|
class DamageIndicatorSystem : public System
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DamageIndicatorSystem(World* world, EventBroker* eventBroker);
|
DamageIndicatorSystem(World* world, EventBroker* eventBroker);
|
||||||
|
|
||||||
virtual void Update(double dt) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
EventRelay<DamageIndicatorSystem, Events::PlayerDamage> m_DamageTakenFromPlayer;
|
EventRelay<DamageIndicatorSystem, Events::PlayerDamage> m_DamageTakenFromPlayer;
|
||||||
bool OnPlayerDamageTaken(Events::PlayerDamage& e);
|
bool OnPlayerDamageTaken(Events::PlayerDamage& e);
|
||||||
|
|
||||||
//temp
|
|
||||||
EventRelay<DamageIndicatorSystem, Events::InputCommand> m_EInputCommand;
|
|
||||||
bool OnInputCommand(Events::InputCommand& e);
|
|
||||||
|
|
||||||
EventRelay<DamageIndicatorSystem, Events::SetCamera> m_ESetCamera;
|
EventRelay<DamageIndicatorSystem, Events::SetCamera> m_ESetCamera;
|
||||||
bool OnSetCamera(const Events::SetCamera& e);
|
bool OnSetCamera(const Events::SetCamera& e);
|
||||||
|
|
||||||
|
|||||||
@@ -4,23 +4,15 @@ DamageIndicatorSystem::DamageIndicatorSystem(World* m_World, EventBroker* eventB
|
|||||||
: System(m_World, eventBroker)
|
: System(m_World, eventBroker)
|
||||||
{
|
{
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_DamageTakenFromPlayer, &DamageIndicatorSystem::OnPlayerDamageTaken);
|
EVENT_SUBSCRIBE_MEMBER(m_DamageTakenFromPlayer, &DamageIndicatorSystem::OnPlayerDamageTaken);
|
||||||
//TEMP
|
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_EInputCommand, &DamageIndicatorSystem::OnInputCommand);
|
|
||||||
//current camera
|
//current camera
|
||||||
EVENT_SUBSCRIBE_MEMBER(m_ESetCamera, &DamageIndicatorSystem::OnSetCamera);
|
EVENT_SUBSCRIBE_MEMBER(m_ESetCamera, &DamageIndicatorSystem::OnSetCamera);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DamageIndicatorSystem::Update(double dt)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
||||||
{
|
{
|
||||||
auto test1 = (glm::vec3)e.PlayerShooter["Transform"]["Orientation"];
|
if (m_CurrentCamera == -1) {
|
||||||
auto test2 = (glm::vec3)e.Player["Transform"]["Orientation"];
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//grab players direction
|
//grab players direction
|
||||||
auto playerOrientation = glm::quat((glm::vec3)e.Player["Transform"]["Orientation"]);
|
auto playerOrientation = glm::quat((glm::vec3)e.Player["Transform"]["Orientation"]);
|
||||||
@@ -51,8 +43,6 @@ bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
|||||||
angleBetweenVectors = -angleBetweenVectors;
|
angleBetweenVectors = -angleBetweenVectors;
|
||||||
}
|
}
|
||||||
|
|
||||||
//LOG_INFO("vector angle %f %f %f %f", t1, t3, t4, enemyPlayerVector.x);
|
|
||||||
|
|
||||||
//load & set the "2d" sprite
|
//load & set the "2d" sprite
|
||||||
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/SpriteTestTemporary.xml");
|
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/SpriteTestTemporary.xml");
|
||||||
EntityFileParser parser(entityFile);
|
EntityFileParser parser(entityFile);
|
||||||
@@ -65,60 +55,6 @@ bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TEMP
|
|
||||||
bool DamageIndicatorSystem::OnInputCommand(Events::InputCommand& e)
|
|
||||||
{
|
|
||||||
if (e.Command != "Jump" || e.Value > 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
//auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/SpriteTestTemporary.xml");
|
|
||||||
//EntityFileParser parser(entityFile);
|
|
||||||
//EntityID spriteID = parser.MergeEntities(m_World);
|
|
||||||
////get currently active camera
|
|
||||||
////auto cameras = m_World->GetComponents("Camera");
|
|
||||||
////for (auto& cCamera : *cameras) {
|
|
||||||
////
|
|
||||||
//// //auto temp = m_World->GetParent(cCamera.EntityID);
|
|
||||||
//// m_World->SetParent(spriteID, cCamera.EntityID);
|
|
||||||
////}
|
|
||||||
////m_CurrentCamera
|
|
||||||
//m_World->SetParent(spriteID, m_CurrentCamera);
|
|
||||||
|
|
||||||
//auto cameraWrapper = EntityWrapper(m_World, spriteID);
|
|
||||||
//cameraWrapper["Transform"]["Orientation"] = glm::vec3(1, 1, 1);
|
|
||||||
//ray player-enemyplayer eller bara spelarnas direction
|
|
||||||
|
|
||||||
|
|
||||||
//TODO: life time, rotering
|
|
||||||
//den ska väl vara där hela tiden, bara det att den inte syns
|
|
||||||
|
|
||||||
|
|
||||||
//EntityWrapper(m_World, spriteID);
|
|
||||||
|
|
||||||
auto players = m_World->GetComponents("Player");
|
|
||||||
EntityID id1 = (*players->begin()).EntityID;
|
|
||||||
EntityID id2;
|
|
||||||
int lameCounter = 0;
|
|
||||||
for (auto& cPlayers : *players) {
|
|
||||||
if (lameCounter == 1) {
|
|
||||||
id2 = cPlayers.EntityID;
|
|
||||||
}
|
|
||||||
lameCounter++;
|
|
||||||
}
|
|
||||||
if (lameCounter != 2) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//do something here
|
|
||||||
Events::PlayerDamage ePlayerDamage;
|
|
||||||
ePlayerDamage.Player = EntityWrapper(m_World, id1);
|
|
||||||
ePlayerDamage.PlayerShooter = EntityWrapper(m_World, id2);
|
|
||||||
ePlayerDamage.Damage = 1;
|
|
||||||
m_EventBroker->Publish(ePlayerDamage);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool DamageIndicatorSystem::OnSetCamera(const Events::SetCamera& e) {
|
bool DamageIndicatorSystem::OnSetCamera(const Events::SetCamera& e) {
|
||||||
m_CurrentCamera = e.CameraEntity.ID;
|
m_CurrentCamera = e.CameraEntity.ID;
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ bool WeaponSystem::OnShoot(Events::Shoot& eShoot)
|
|||||||
// TODO: Weapon damage calculations etc
|
// TODO: Weapon damage calculations etc
|
||||||
Events::PlayerDamage ePlayerDamage;
|
Events::PlayerDamage ePlayerDamage;
|
||||||
ePlayerDamage.Player = player;
|
ePlayerDamage.Player = player;
|
||||||
|
ePlayerDamage.PlayerShooter = eShoot.Player;
|
||||||
ePlayerDamage.Damage = 100;
|
ePlayerDamage.Damage = 100;
|
||||||
m_EventBroker->Publish(ePlayerDamage);
|
m_EventBroker->Publish(ePlayerDamage);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user