fixup! Merge remote-tracking branch 'origin/master' into WeaponSystem

This commit is contained in:
2016-02-11 23:44:20 +01:00
parent 7cae84d4ee
commit 44a73ef883
4 changed files with 15 additions and 12 deletions
+2 -2
View File
@@ -21,8 +21,8 @@ public:
DamageIndicatorSystem(SystemParams params); DamageIndicatorSystem(SystemParams params);
private: private:
EventRelay<DamageIndicatorSystem, Events::PlayerDamage> m_DamageTakenFromPlayer; EventRelay<DamageIndicatorSystem, Events::PlayerDamage> m_EPlayerDamage;
bool OnPlayerDamageTaken(Events::PlayerDamage& e); bool OnPlayerDamage(Events::PlayerDamage& 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);
+11 -7
View File
@@ -3,7 +3,7 @@
DamageIndicatorSystem::DamageIndicatorSystem(SystemParams params) DamageIndicatorSystem::DamageIndicatorSystem(SystemParams params)
: System(params) : System(params)
{ {
EVENT_SUBSCRIBE_MEMBER(m_DamageTakenFromPlayer, &DamageIndicatorSystem::OnPlayerDamageTaken); EVENT_SUBSCRIBE_MEMBER(m_EPlayerDamage, &DamageIndicatorSystem::OnPlayerDamage);
//current camera //current camera
EVENT_SUBSCRIBE_MEMBER(m_ESetCamera, &DamageIndicatorSystem::OnSetCamera); EVENT_SUBSCRIBE_MEMBER(m_ESetCamera, &DamageIndicatorSystem::OnSetCamera);
@@ -12,23 +12,27 @@ DamageIndicatorSystem::DamageIndicatorSystem(SystemParams params)
auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/DamageIndicator.xml"); auto entityFile = ResourceManager::Load<EntityFile>("Schema/Entities/DamageIndicator.xml");
} }
bool DamageIndicatorSystem::OnPlayerDamageTaken(Events::PlayerDamage& e) bool DamageIndicatorSystem::OnPlayerDamage(Events::PlayerDamage& e)
{ {
if (m_CurrentCamera == -1) { if (m_CurrentCamera == EntityID_Invalid) {
return false;
}
if (e.Victim != LocalPlayer) {
return false; 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.Victim["Transform"]["Orientation"]);
//get the position vectors, but ignore the y-height //get the position vectors, but ignore the y-height
auto enemyPosition = (glm::vec3) e.PlayerShooter["Transform"]["Position"]; auto enemyPosition = (glm::vec3)e.Inflictor["Transform"]["Position"];
auto playerPosition = (glm::vec3) e.Player["Transform"]["Position"]; auto playerPosition = (glm::vec3)e.Victim["Transform"]["Position"];
enemyPosition.y = 0.0f; enemyPosition.y = 0.0f;
playerPosition.y = 0.0f; playerPosition.y = 0.0f;
//calculate the enemy to player vector //calculate the enemy to player vector
auto enemyPlayerVector = glm::normalize((glm::vec3) playerPosition - enemyPosition); auto enemyPlayerVector = glm::normalize(playerPosition - enemyPosition);
//get angle from players current rotation, this angle is how much you rotate around the y-axis //get angle from players current rotation, this angle is how much you rotate around the y-axis
auto playerAngle = glm::angle(playerOrientation); auto playerAngle = glm::angle(playerOrientation);
@@ -323,6 +323,7 @@ bool AssaultWeaponBehaviour::shoot(double damage)
// Deal damage! // Deal damage!
Events::PlayerDamage ePlayerDamage; Events::PlayerDamage ePlayerDamage;
ePlayerDamage.Inflictor = m_Player;
ePlayerDamage.Victim = victim; ePlayerDamage.Victim = victim;
ePlayerDamage.Damage = damage; ePlayerDamage.Damage = damage;
m_EventBroker->Publish(ePlayerDamage); m_EventBroker->Publish(ePlayerDamage);
-2
View File
@@ -94,5 +94,3 @@ bool WeaponSystem::OnPlayerSpawned(Events::PlayerSpawned& e)
// TODO: Select the active one specified by player component // TODO: Select the active one specified by player component
return true; return true;
} }
ePlayerDamage.PlayerShooter = eShoot.Player;