Some cleanup of the code
This commit is contained in:
@@ -5,35 +5,23 @@
|
||||
#include "Core/Transform.h"
|
||||
#include "Core/ResourceManager.h"
|
||||
#include "Core/EntityFileParser.h"
|
||||
#include "Core/EPickupSpawned.h"
|
||||
#include "Core/EPlayerDamage.h"
|
||||
#include "Engine/Collision/ETrigger.h"
|
||||
#include "Common.h"
|
||||
#include <tuple>
|
||||
|
||||
//temp
|
||||
#include "Input/EInputCommand.h"
|
||||
#include "Rendering/ESetCamera.h"
|
||||
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
#include <glm/gtx/vector_angle.hpp>
|
||||
|
||||
class DamageIndicatorSystem : public ImpureSystem
|
||||
class DamageIndicatorSystem : public System
|
||||
{
|
||||
public:
|
||||
DamageIndicatorSystem(World* world, EventBroker* eventBroker);
|
||||
|
||||
virtual void Update(double dt) override;
|
||||
|
||||
private:
|
||||
|
||||
EventRelay<DamageIndicatorSystem, Events::PlayerDamage> m_DamageTakenFromPlayer;
|
||||
bool OnPlayerDamageTaken(Events::PlayerDamage& e);
|
||||
|
||||
//temp
|
||||
EventRelay<DamageIndicatorSystem, Events::InputCommand> m_EInputCommand;
|
||||
bool OnInputCommand(Events::InputCommand& e);
|
||||
|
||||
EventRelay<DamageIndicatorSystem, Events::SetCamera> m_ESetCamera;
|
||||
bool OnSetCamera(const Events::SetCamera& e);
|
||||
|
||||
|
||||
@@ -4,23 +4,15 @@ DamageIndicatorSystem::DamageIndicatorSystem(World* m_World, EventBroker* eventB
|
||||
: System(m_World, eventBroker)
|
||||
{
|
||||
EVENT_SUBSCRIBE_MEMBER(m_DamageTakenFromPlayer, &DamageIndicatorSystem::OnPlayerDamageTaken);
|
||||
//TEMP
|
||||
EVENT_SUBSCRIBE_MEMBER(m_EInputCommand, &DamageIndicatorSystem::OnInputCommand);
|
||||
//current camera
|
||||
EVENT_SUBSCRIBE_MEMBER(m_ESetCamera, &DamageIndicatorSystem::OnSetCamera);
|
||||
|
||||
}
|
||||
|
||||
void DamageIndicatorSystem::Update(double dt)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
||||
{
|
||||
auto test1 = (glm::vec3)e.PlayerShooter["Transform"]["Orientation"];
|
||||
auto test2 = (glm::vec3)e.Player["Transform"]["Orientation"];
|
||||
if (m_CurrentCamera == -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//grab players direction
|
||||
auto playerOrientation = glm::quat((glm::vec3)e.Player["Transform"]["Orientation"]);
|
||||
@@ -51,8 +43,6 @@ bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
||||
angleBetweenVectors = -angleBetweenVectors;
|
||||
}
|
||||
|
||||
//LOG_INFO("vector angle %f %f %f %f", t1, t3, t4, enemyPlayerVector.x);
|
||||
|
||||
//load & set the "2d" sprite
|
||||
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/SpriteTestTemporary.xml");
|
||||
EntityFileParser parser(entityFile);
|
||||
@@ -65,60 +55,6 @@ bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e)
|
||||
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) {
|
||||
m_CurrentCamera = e.CameraEntity.ID;
|
||||
return true;
|
||||
|
||||
@@ -134,6 +134,7 @@ bool WeaponSystem::OnShoot(Events::Shoot& eShoot)
|
||||
// TODO: Weapon damage calculations etc
|
||||
Events::PlayerDamage ePlayerDamage;
|
||||
ePlayerDamage.Player = player;
|
||||
ePlayerDamage.PlayerShooter = eShoot.Player;
|
||||
ePlayerDamage.Damage = 100;
|
||||
m_EventBroker->Publish(ePlayerDamage);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user