Should now correctly track if another player takes your last capture point

This commit is contained in:
Tleety
2016-03-02 13:56:35 +01:00
parent 6968e71e07
commit ab7fd89546
4 changed files with 57 additions and 68 deletions
+2 -1
View File
@@ -13,7 +13,8 @@ struct Captured : Event
{ {
int TeamNumberThatCapturedCapturePoint; int TeamNumberThatCapturedCapturePoint;
EntityID CapturePointTakenID; EntityID CapturePointTakenID;
EntityWrapper NextCapturePoint; EntityWrapper BlueTeamNextCapturePoint;
EntityWrapper RedTeamNextCapturePoint;
}; };
} }
@@ -810,6 +810,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -820,9 +821,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="24062.1504" Z="0"/> <Orientation X="0" Y="24080.8184" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -852,6 +852,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -862,9 +863,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="24041.0996" Z="0"/> <Orientation X="0" Y="24059.7676" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -894,6 +894,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -904,9 +905,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="23982.3906" Z="0"/> <Orientation X="0" Y="24001.0586" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -936,6 +936,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -946,9 +947,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36800003" Z="0"/> <Position X="0" Y="2.36800003" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="5727.98584" Z="0"/> <Orientation X="0" Y="5746.52246" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -978,6 +978,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -988,9 +989,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36800003" Z="0"/> <Position X="0" Y="2.36800003" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="5638.45654" Z="0"/> <Orientation X="0" Y="5656.99316" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -1020,6 +1020,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -1030,9 +1031,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="15092.2393" Z="0"/> <Orientation X="0" Y="15110.7119" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -1062,6 +1062,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -1072,9 +1073,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="12983.1709" Z="0"/> <Orientation X="0" Y="13001.6436" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2326,6 +2326,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -2336,9 +2337,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="16608.0488" Z="0"/> <Orientation X="0" Y="16626.7168" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2368,6 +2368,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -2378,9 +2379,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36800003" Z="0"/> <Position X="0" Y="2.36800003" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="5564.23389" Z="0"/> <Orientation X="0" Y="5582.77051" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2865,6 +2865,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -2875,9 +2876,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="24035.8359" Z="0"/> <Orientation X="0" Y="24054.5039" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2907,6 +2907,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -2917,9 +2918,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="24014.7852" Z="0"/> <Orientation X="0" Y="24033.4531" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2949,6 +2949,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -2959,9 +2960,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="23956.0762" Z="0"/> <Orientation X="0" Y="23974.7441" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -2991,6 +2991,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -3001,9 +3002,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36800003" Z="0"/> <Position X="0" Y="2.36800003" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="5701.64502" Z="0"/> <Orientation X="0" Y="5720.18164" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -3033,6 +3033,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -3043,9 +3044,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36800003" Z="0"/> <Position X="0" Y="2.36800003" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="5612.11572" Z="0"/> <Orientation X="0" Y="5630.65234" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -3075,6 +3075,7 @@
<Entity> <Entity>
<Components> <Components>
<c:HealthPickup/> <c:HealthPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -3085,9 +3086,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="15065.876" Z="0"/> <Orientation X="0" Y="15084.3486" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -3117,6 +3117,7 @@
<Entity> <Entity>
<Components> <Components>
<c:AmmoPickup/> <c:AmmoPickup/>
<c:Trigger/>
<c:RaptorCopter> <c:RaptorCopter>
<Speed>8</Speed> <Speed>8</Speed>
<Axis X="0" Y="0.100000001" Z="0"/> <Axis X="0" Y="0.100000001" Z="0"/>
@@ -3127,9 +3128,8 @@
<c:Transform> <c:Transform>
<Position X="0" Y="2.36784196" Z="0"/> <Position X="0" Y="2.36784196" Z="0"/>
<Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/> <Scale X="0.600000024" Y="0.600000024" Z="0.600000024"/>
<Orientation X="0" Y="12956.8076" Z="0"/> <Orientation X="0" Y="12975.2803" Z="0"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4225,6 +4225,7 @@
<CapturePointMaxTimer>-15</CapturePointMaxTimer> <CapturePointMaxTimer>-15</CapturePointMaxTimer>
<CapturePointNumber>4</CapturePointNumber> <CapturePointNumber>4</CapturePointNumber>
</c:CapturePoint> </c:CapturePoint>
<c:Trigger/>
<c:Model> <c:Model>
<Resource>Models/Core/UnitCylinder.mesh</Resource> <Resource>Models/Core/UnitCylinder.mesh</Resource>
<Color A="0.300000012" B="1" G="0" R="0"/> <Color A="0.300000012" B="1" G="0" R="0"/>
@@ -4239,7 +4240,6 @@
<Position X="0" Y="30.5569248" Z="0"/> <Position X="0" Y="30.5569248" Z="0"/>
<Scale X="8.5" Y="62.2000046" Z="8.5"/> <Scale X="8.5" Y="62.2000046" Z="8.5"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4261,6 +4261,7 @@
<c:CapturePoint> <c:CapturePoint>
<CapturePointNumber>3</CapturePointNumber> <CapturePointNumber>3</CapturePointNumber>
</c:CapturePoint> </c:CapturePoint>
<c:Trigger/>
<c:Model> <c:Model>
<Resource>Models/Core/UnitCylinder.mesh</Resource> <Resource>Models/Core/UnitCylinder.mesh</Resource>
<Color A="0.300000012" B="1" G="1" R="1"/> <Color A="0.300000012" B="1" G="1" R="1"/>
@@ -4271,7 +4272,6 @@
<Position X="0" Y="24.8728676" Z="0"/> <Position X="0" Y="24.8728676" Z="0"/>
<Scale X="8.5" Y="60" Z="8.5"/> <Scale X="8.5" Y="60" Z="8.5"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4293,6 +4293,7 @@
<c:CapturePoint> <c:CapturePoint>
<CapturePointNumber>2</CapturePointNumber> <CapturePointNumber>2</CapturePointNumber>
</c:CapturePoint> </c:CapturePoint>
<c:Trigger/>
<c:Model> <c:Model>
<Resource>Models/Core/UnitCylinder.mesh</Resource> <Resource>Models/Core/UnitCylinder.mesh</Resource>
<Color A="0.300000012" B="1" G="1" R="1"/> <Color A="0.300000012" B="1" G="1" R="1"/>
@@ -4303,7 +4304,6 @@
<Position X="0" Y="25.7207146" Z="0"/> <Position X="0" Y="25.7207146" Z="0"/>
<Scale X="9" Y="60" Z="9"/> <Scale X="9" Y="60" Z="9"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4325,6 +4325,7 @@
<c:CapturePoint> <c:CapturePoint>
<CapturePointNumber>1</CapturePointNumber> <CapturePointNumber>1</CapturePointNumber>
</c:CapturePoint> </c:CapturePoint>
<c:Trigger/>
<c:Model> <c:Model>
<Resource>Models/Core/UnitCylinder.mesh</Resource> <Resource>Models/Core/UnitCylinder.mesh</Resource>
<Color A="0.300000012" B="1" G="1" R="1"/> <Color A="0.300000012" B="1" G="1" R="1"/>
@@ -4335,7 +4336,6 @@
<Position X="0" Y="27.9425964" Z="0"/> <Position X="0" Y="27.9425964" Z="0"/>
<Scale X="8.5" Y="60" Z="8.5"/> <Scale X="8.5" Y="60" Z="8.5"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4360,6 +4360,7 @@
</HomePointForTeam> </HomePointForTeam>
<CaptureTimer>15</CaptureTimer> <CaptureTimer>15</CaptureTimer>
</c:CapturePoint> </c:CapturePoint>
<c:Trigger/>
<c:Model> <c:Model>
<Resource>Models/Core/UnitCylinder.mesh</Resource> <Resource>Models/Core/UnitCylinder.mesh</Resource>
<Color A="0.300000012" B="0" G="0" R="1"/> <Color A="0.300000012" B="0" G="0" R="1"/>
@@ -4374,7 +4375,6 @@
<Position X="0" Y="29.0392075" Z="0"/> <Position X="0" Y="29.0392075" Z="0"/>
<Scale X="8.5" Y="60" Z="8.5"/> <Scale X="8.5" Y="60" Z="8.5"/>
</c:Transform> </c:Transform>
<c:Trigger/>
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
@@ -4445,7 +4445,6 @@
<Components> <Components>
<c:DirectionalLight> <c:DirectionalLight>
<Intensity>1</Intensity> <Intensity>1</Intensity>
<Visible>false</Visible>
</c:DirectionalLight> </c:DirectionalLight>
<c:Transform> <c:Transform>
<Orientation X="0" Y="1.16600001" Z="2.08000016"/> <Orientation X="0" Y="1.16600001" Z="2.08000016"/>
+16 -26
View File
@@ -11,9 +11,9 @@ CapturePointArrowHUDSystem::CapturePointArrowHUDSystem(SystemParams params)
void CapturePointArrowHUDSystem::Update(double dt) void CapturePointArrowHUDSystem::Update(double dt)
{ {
bool loadCheck = true; bool loadCheck = true;
int redTeam; int redTeamEnum;
int blueTeam; int blueTeamEnum;
int spectatorTeam; int spectatorTeamEnum;
//Get list for all CapturePointArrowHUDComponents //Get list for all CapturePointArrowHUDComponents
auto arrowHUDs = m_World->GetComponents("CapturePointArrowHUD"); auto arrowHUDs = m_World->GetComponents("CapturePointArrowHUD");
@@ -35,9 +35,9 @@ void CapturePointArrowHUDSystem::Update(double dt)
int currentTeam = (int)cTeam["Team"]; int currentTeam = (int)cTeam["Team"];
if (loadCheck) { if (loadCheck) {
redTeam = (int)cTeam["Team"].Enum("Red"); redTeamEnum = (int)cTeam["Team"].Enum("Red");
blueTeam = (int)cTeam["Team"].Enum("Blue"); blueTeamEnum = (int)cTeam["Team"].Enum("Blue");
spectatorTeam = (int)cTeam["Team"].Enum("Spectator"); spectatorTeamEnum = (int)cTeam["Team"].Enum("Spectator");
loadCheck = false; loadCheck = false;
@@ -66,21 +66,21 @@ void CapturePointArrowHUDSystem::Update(double dt)
int currentOwner = (int)capturePointEntity["Team"]["Team"]; int currentOwner = (int)capturePointEntity["Team"]["Team"];
if(currentOwner != redTeam) { if(currentOwner != redTeamEnum) {
//This capturePoint is not owned by the red team and is therefor an eligible target for red team //This capturePoint is not owned by the red team and is therefor an eligible target for red team
glm::vec3 targetPos = Transform::AbsolutePosition(capturePointEntity); glm::vec3 targetPos = Transform::AbsolutePosition(capturePointEntity);
redTargets.insert(std::pair<int, glm::vec3>(capturePointID, targetPos)); redTargets.insert(std::pair<int, glm::vec3>(capturePointID, targetPos));
} }
if(currentOwner != blueTeam) { if(currentOwner != blueTeamEnum) {
//This capturePoint is not owned by the blue team and is therefor an eligible target for blue team //This capturePoint is not owned by the blue team and is therefor an eligible target for blue team
glm::vec3 targetPos = Transform::AbsolutePosition(capturePointEntity); glm::vec3 targetPos = Transform::AbsolutePosition(capturePointEntity);
blueTargets.insert(std::pair<int, glm::vec3>(capturePointID, targetPos)); blueTargets.insert(std::pair<int, glm::vec3>(capturePointID, targetPos));
} }
if(homePointTeam == blueTeam) { if(homePointTeam == blueTeamEnum) {
//CP is the home point for blue team. //CP is the home point for blue team.
homeBlue = capturePointEntity; homeBlue = capturePointEntity;
} else if (homePointTeam == redTeam) { } else if (homePointTeam == redTeamEnum) {
//CP is the home point for red team. //CP is the home point for red team.
homeRed = capturePointEntity; homeRed = capturePointEntity;
} }
@@ -149,14 +149,12 @@ void CapturePointArrowHUDSystem::Update(double dt)
//Untill this is awailable we will just use the hardcoded value in the component. //Untill this is awailable we will just use the hardcoded value in the component.
//This will also give us a position, so we wont need to loop through all capturePoints. //This will also give us a position, so we wont need to loop through all capturePoints.
glm::vec3 pos; glm::vec3 pos;
if(currentTeam == redTeam) { if(currentTeam == redTeamEnum) {
pos = m_RedTeamCurrentTarget; pos = m_RedTeamCurrentTarget;
} else if (currentTeam == blueTeam) { } else if (currentTeam == blueTeamEnum) {
pos = m_BlueTeamCurrentTarget; pos = m_BlueTeamCurrentTarget;
} }
//pos = currentTeam == redTeam ? m_RedTeamCurrentTarget : currentTeam == blueTeam ? m_BlueTeamCurrentTarget : glm::vec3(0.f);
glm::vec3& arrowOri = arrowEntity["Transform"]["Orientation"]; glm::vec3& arrowOri = arrowEntity["Transform"]["Orientation"];
glm::vec3 lookVector = glm::normalize(Transform::AbsolutePosition(arrowEntity) - pos); //Maybe should be player instead glm::vec3 lookVector = glm::normalize(Transform::AbsolutePosition(arrowEntity) - pos); //Maybe should be player instead
float pitch = std::asin(-lookVector.y); float pitch = std::asin(-lookVector.y);
@@ -173,21 +171,13 @@ void CapturePointArrowHUDSystem::Update(double dt)
bool CapturePointArrowHUDSystem::OnCapturePointCaptured(Events::Captured& e) bool CapturePointArrowHUDSystem::OnCapturePointCaptured(Events::Captured& e)
{ {
if (!e.NextCapturePoint.HasComponent("Team")) { if(!e.BlueTeamNextCapturePoint.Valid() || !e.RedTeamNextCapturePoint.Valid()) {
return 0; return 0;
} }
auto cTeam = e.NextCapturePoint["Team"]; m_RedTeamCurrentTarget = Transform::AbsolutePosition(e.RedTeamNextCapturePoint);
m_BlueTeamCurrentTarget = Transform::AbsolutePosition(e.BlueTeamNextCapturePoint);
int redTeam = (int)cTeam["Team"].Enum("Red");
int blueTeam = (int)cTeam["Team"].Enum("Blue");
int spectatorTeam = (int)cTeam["Team"].Enum("Spectator");
if(e.TeamNumberThatCapturedCapturePoint == redTeam) {
m_RedTeamCurrentTarget = Transform::AbsolutePosition(e.NextCapturePoint);
} else if (e.TeamNumberThatCapturedCapturePoint == blueTeam) {
m_BlueTeamCurrentTarget = Transform::AbsolutePosition(e.NextCapturePoint);
}
m_InitialtargetsSet = true; m_InitialtargetsSet = true;
return 0;
} }
+2 -3
View File
@@ -104,9 +104,8 @@ void CapturePointSystem::UpdateComponent(EntityWrapper& capturePointEntity, Comp
} }
if (m_RecentlyCapturedNeedNextCapturePointNow) { if (m_RecentlyCapturedNeedNextCapturePointNow) {
//TODO: Next capture point for both teams //TODO: Next capture point for both teams
m_CapturedEvent.NextCapturePoint = m_CapturedEvent.TeamNumberThatCapturedCapturePoint == blueTeam ? m_CapturedEvent.BlueTeamNextCapturePoint = m_CapturePointNumberToEntityMap[nextPossibleCapturePoint["Blue"]];
m_CapturePointNumberToEntityMap[nextPossibleCapturePoint["Blue"]] : m_CapturedEvent.RedTeamNextCapturePoint = m_CapturePointNumberToEntityMap[nextPossibleCapturePoint["Red"]];
m_CapturePointNumberToEntityMap[nextPossibleCapturePoint["Red"]];
m_EventBroker->Publish(m_CapturedEvent); m_EventBroker->Publish(m_CapturedEvent);
m_RecentlyCapturedNeedNextCapturePointNow = false; m_RecentlyCapturedNeedNextCapturePointNow = false;
} }