Ammosharing over network test WIP

This commit is contained in:
viktorljung
2016-03-12 17:01:46 +01:00
parent 01cb3afb4b
commit 4ba011a098
7 changed files with 941 additions and 833 deletions
+3
View File
@@ -6,6 +6,7 @@
#include "Core/EntityFile.h" #include "Core/EntityFile.h"
#include "Core/EPlayerDamage.h" #include "Core/EPlayerDamage.h"
#include "Common.h" #include "Common.h"
#include "SpawnerSystem.h"
class BoostSystem : public System class BoostSystem : public System
{ {
@@ -17,5 +18,7 @@ private:
bool OnPlayerDamage(Events::PlayerDamage& e); bool OnPlayerDamage(Events::PlayerDamage& e);
std::string DetermineClass(EntityWrapper player); std::string DetermineClass(EntityWrapper player);
void giveAmmo(EntityWrapper giver, EntityWrapper receiver);
}; };
#endif #endif
@@ -37,7 +37,7 @@ private:
bool playerInFirstPerson(EntityWrapper player); bool playerInFirstPerson(EntityWrapper player);
bool dealDamage(ComponentWrapper cWeapon, WeaponInfo& wi); bool dealDamage(ComponentWrapper cWeapon, WeaponInfo& wi);
void giveAmmo(ComponentWrapper cWeapon, WeaponInfo& wi, EntityWrapper receiver); // void giveAmmo(ComponentWrapper cWeapon, WeaponInfo& wi, EntityWrapper receiver);
void CheckAmmo(ComponentWrapper cWeapon, WeaponInfo& wi); void CheckAmmo(ComponentWrapper cWeapon, WeaponInfo& wi);
@@ -305,6 +305,8 @@ private:
wi.ThirdPersonEntity = thirdPersonWeapon; wi.ThirdPersonEntity = thirdPersonWeapon;
wi.ThirdPersonPlayerModel = thirdPersonWeapon.FirstParentWithComponent("Model"); wi.ThirdPersonPlayerModel = thirdPersonWeapon.FirstParentWithComponent("Model");
player["Player"]["CurrentWeapon"] = cWeapon.Info.Name;
OnEquip(cWeapon, wi); OnEquip(cWeapon, wi);
} }
+127 -108
View File
@@ -57,6 +57,14 @@
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
<Entity name="HUD">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/PlayerHUD.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children>
<Entity name="HUD"> <Entity name="HUD">
<Components> <Components>
<c:Transform> <c:Transform>
@@ -99,82 +107,12 @@
<Entity name="BackgroundHexagon"> <Entity name="BackgroundHexagon">
<Components> <Components>
<c:Sprite> <c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model> <DepthSort>false</DepthSort>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0.919596612" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>2</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.811270177" Y="0.440691769" Z="-0.100000001"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>3</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/> <Color A="0.699999988" B="1" G="0.200000003" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="1.62788737" Y="0.919596612" Z="0"/> <Position X="1.62788737" Y="0.919596612" Z="0"/>
@@ -191,9 +129,11 @@
<CapturePointNumber>4</CapturePointNumber> <CapturePointNumber>4</CapturePointNumber>
</c:CapturePointHUD> </c:CapturePointHUD>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -208,10 +148,92 @@
<Entity name="BackgroundHexagon"> <Entity name="BackgroundHexagon">
<Components> <Components>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/> <Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0.919596612" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>2</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.811270177" Y="0.440691769" Z="-0.100000001"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>3</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="-0.820431828" Y="0.441878349" Z="-0.100000001"/> <Position X="-0.820431828" Y="0.441878349" Z="-0.100000001"/>
@@ -227,9 +249,11 @@
<CapturePointNumber>1</CapturePointNumber> <CapturePointNumber>1</CapturePointNumber>
</c:CapturePointHUD> </c:CapturePointHUD>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -244,10 +268,12 @@
<Entity name="BackgroundHexagon"> <Entity name="BackgroundHexagon">
<Components> <Components>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.699999988" B="0" G="0" R="1"/> <Color A="0.699999988" B="0" G="0" R="1"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="-1.58304751" Y="0.919596612" Z="0"/> <Position X="-1.58304751" Y="0.919596612" Z="0"/>
@@ -262,9 +288,11 @@
</c:Fill> </c:Fill>
<c:CapturePointHUD/> <c:CapturePointHUD/>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -341,12 +369,12 @@
</c:Team> </c:Team>
<c:CapturePointArrowHUD/> <c:CapturePointArrowHUD/>
<c:Model> <c:Model>
<Resource>Models/Widgets/Arrows/Arrow5.mesh</Resource> <Resource>Models/Widgets/Arrows/ArrowBlue.mesh</Resource>
</c:Model> </c:Model>
<c:Transform> <c:Transform>
<Position X="0" Y="0.714000046" Z="-1.30000007"/> <Position X="0" Y="0.198665127" Z="0"/>
<Orientation X="0.405680239" Y="0.369605929" Z="0"/> <Orientation X="0.0531693883" Y="-2.13055706" Z="0"/>
<Scale X="0.200000003" Y="0.200000003" Z="0.200000003"/> <Scale X="0.0500000007" Y="0.0500000007" Z="0.0500000007"/>
</c:Transform> </c:Transform>
</Components> </Components>
<Children/> <Children/>
@@ -368,7 +396,7 @@
<c:Text> <c:Text>
<Content>100/100</Content> <Content>100/100</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource> <Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="0.505882382" B="3.92156863" G="1.17647064" R="0"/> <Color A="0.505882382" B="0" G="1.17647064" R="0"/>
</c:Text> </c:Text>
<c:HealthHUD/> <c:HealthHUD/>
<c:Transform> <c:Transform>
@@ -391,6 +419,7 @@
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/HealthHUD3.png</DiffuseTexture> <DiffuseTexture>Textures/HealthHUD3.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/> <Color A="0.588235319" B="0" G="0" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Scale X="0.106000006" Y="0.333000004" Z="0.150000006"/> <Scale X="0.106000006" Y="0.333000004" Z="0.150000006"/>
@@ -409,17 +438,18 @@
<Entity name="Assault"> <Entity name="Assault">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="0.533333361" G="1" R="0.329411775"/> <Color A="1" B="0.533333361" G="1.56862748" R="0.329411775"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Assault-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Assault-01.png</DiffuseTexture>
<Color A="0.588235319" B="0.0392156877" G="0.184313729" R="0"/> <Color A="0.392156869" B="0.0392156877" G="0.184313729" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.0700000003" Z="0"/> <Position X="0.0250000004" Y="0.0870000049" Z="0"/>
<Orientation X="0" Y="0" Z="3.14199996"/> <Orientation X="0" Y="0" Z="3.14199996"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.5"/> <Scale X="0.0399999991" Y="0.0399999991" Z="0.5"/>
</c:Transform> </c:Transform>
@@ -429,17 +459,18 @@
<Entity name="Defender"> <Entity name="Defender">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="1" G="0.58431375" R="0.105882354"/> <Color A="1" B="1.96078432" G="0.58431375" R="0.105882354"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Defender-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Defender-01.png</DiffuseTexture>
<Color A="0.588235319" B="0.34117648" G="0.192156866" R="0"/> <Color A="0.392156869" B="0.34117648" G="0.192156866" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0270000007" Y="0.110000007" Z="0"/> <Position X="0.0240000002" Y="0.131999999" Z="0"/>
<Orientation X="0" Y="0" Z="3.14199996"/> <Orientation X="0" Y="0" Z="3.14199996"/>
<Scale X="0.0399999991" Y="0.0400000028" Z="0.165000007"/> <Scale X="0.0399999991" Y="0.0400000028" Z="0.165000007"/>
</c:Transform> </c:Transform>
@@ -449,14 +480,16 @@
<Entity name="Sniper"> <Entity name="Sniper">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="0.345098048" G="0" R="1"/> <Color A="1" B="0.345098048" G="0" R="1.96078432"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Sniper-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Sniper-01.png</DiffuseTexture>
<Color A="0.588235319" B="0.121568628" G="0" R="0.443137258"/> <Color A="0.392156869" B="0.121568628" G="0" R="0.443137258"/>
<Visible>false</Visible>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.145000011" Z="0"/> <Position X="0.0250000004" Y="0.145000011" Z="0"/>
@@ -478,28 +511,14 @@
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures\Icons\Abilities\Superman-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Abilities/Long/Superman-01.png</DiffuseTexture>
<Color A="1" B="0.206628323" G="0.78039217" R="0.192802757"/> <Color A="1" B="0.20784314" G="1.17647064" R="0.192156866"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.0100000007" Z="0"/> <Position X="0.0250000004" Y="0.0100000007" Z="0"/>
<Orientation X="0" Y="0" Z="3.14159203"/> <Orientation X="0" Y="0" Z="1.57000005"/>
<Scale X="0.0800000057" Y="0.0700000003" Z="1"/> <Scale X="0.0800000057" Y="0.029000001" Z="1"/>
</c:Transform>
</Components>
<Children>
<Entity name="Cooldown">
<Components>
<c:Text>
<Content>0.0</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="1" B="0" G="0" R="0"/>
<Visible>false</Visible>
</c:Text>
<c:Transform>
<Position X="0.146000013" Y="0.00900000054" Z="0.0560000017"/>
<Orientation X="0" Y="0" Z="1.57099998"/>
<Scale X="0.515000045" Y="0.704000056" Z="0.431000024"/>
</c:Transform> </c:Transform>
</Components> </Components>
<Children/> <Children/>
@@ -904,10 +923,10 @@
<c:Transform/> <c:Transform/>
</Components> </Components>
<Children> <Children>
<Entity name="DashRight"> <Entity name="DashLeft">
<Components> <Components>
<c:Animation> <c:Animation>
<AnimationName>DashRightF</AnimationName> <AnimationName>DashLeftF</AnimationName>
<Time>1</Time> <Time>1</Time>
<Speed>1.7999999523162842</Speed> <Speed>1.7999999523162842</Speed>
<Loop>false</Loop> <Loop>false</Loop>
@@ -916,10 +935,10 @@
</Components> </Components>
<Children/> <Children/>
</Entity> </Entity>
<Entity name="DashLeft"> <Entity name="DashRight">
<Components> <Components>
<c:Animation> <c:Animation>
<AnimationName>DashLeftF</AnimationName> <AnimationName>DashRightF</AnimationName>
<Time>1</Time> <Time>1</Time>
<Speed>1.7999999523162842</Speed> <Speed>1.7999999523162842</Speed>
<Loop>false</Loop> <Loop>false</Loop>
+118 -91
View File
@@ -90,6 +90,14 @@
</Entity> </Entity>
</Children> </Children>
</Entity> </Entity>
<Entity name="HUD">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/PlayerHUD.xml</EntityFile>
</c:Spawner>
<c:Transform/>
</Components>
<Children>
<Entity name="HUD"> <Entity name="HUD">
<Components> <Components>
<c:Transform> <c:Transform>
@@ -129,82 +137,6 @@
</c:Transform> </c:Transform>
</Components> </Components>
<Children> <Children>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0.919596612" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>2</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
</c:Sprite>
<c:Transform>
<Position X="0.811270177" Y="0.440691769" Z="-0.100000001"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>3</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon"> <Entity name="BackgroundHexagon">
<Components> <Components>
<c:Sprite> <c:Sprite>
@@ -213,6 +145,7 @@
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/> <Color A="0.699999988" B="1" G="0.200000003" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="1.62788737" Y="0.919596612" Z="0"/> <Position X="1.62788737" Y="0.919596612" Z="0"/>
@@ -233,6 +166,7 @@
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -252,6 +186,87 @@
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/> <Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0.919596612" Z="0"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>2</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0.811270177" Y="0.440691769" Z="-0.100000001"/>
</c:Transform>
</Components>
<Children>
<Entity name="ProgressionHexagon">
<Components>
<c:Fill>
<Color A="0.699999988" B="1" G="0.200000003" R="0"/>
</c:Fill>
<c:CapturePointHUD>
<CapturePointNumber>3</CapturePointNumber>
</c:CapturePointHUD>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite>
<c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/>
<Orientation X="0" Y="0" Z="1.57079637"/>
<Scale X="0.800000012" Y="0.800000012" Z="0.800000012"/>
</c:Transform>
</Components>
<Children/>
</Entity>
</Children>
</Entity>
<Entity name="BackgroundHexagon">
<Components>
<c:Sprite>
<DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.300000012" B="1" G="1" R="1"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="-0.820431828" Y="0.441878349" Z="-0.100000001"/> <Position X="-0.820431828" Y="0.441878349" Z="-0.100000001"/>
@@ -271,6 +286,7 @@
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -290,6 +306,7 @@
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon.png</DiffuseTexture>
<Color A="0.699999988" B="0" G="0" R="1"/> <Color A="0.699999988" B="0" G="0" R="1"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="-1.58304751" Y="0.919596612" Z="0"/> <Position X="-1.58304751" Y="0.919596612" Z="0"/>
@@ -308,6 +325,7 @@
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture> <DiffuseTexture>Textures/Core/UnitHexagon_Rotated.png</DiffuseTexture>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0" Y="0" Z="0.00999999978"/> <Position X="0" Y="0" Z="0.00999999978"/>
@@ -384,10 +402,11 @@
</c:Team> </c:Team>
<c:CapturePointArrowHUD/> <c:CapturePointArrowHUD/>
<c:Model> <c:Model>
<Resource>Models/Widgets/Arrows/Arrow5.mesh</Resource> <Resource>Models/Widgets/Arrows/ArrowBlue.mesh</Resource>
</c:Model> </c:Model>
<c:Transform> <c:Transform>
<Position X="0" Y="0.198665127" Z="0"/> <Position X="0" Y="0.198665127" Z="0"/>
<Orientation X="0.0531693883" Y="-2.13055706" Z="0"/>
<Scale X="0.0500000007" Y="0.0500000007" Z="0.0500000007"/> <Scale X="0.0500000007" Y="0.0500000007" Z="0.0500000007"/>
</c:Transform> </c:Transform>
</Components> </Components>
@@ -410,7 +429,7 @@
<c:Text> <c:Text>
<Content>150/150</Content> <Content>150/150</Content>
<Resource>Fonts/DroidSans.ttf,64</Resource> <Resource>Fonts/DroidSans.ttf,64</Resource>
<Color A="0.505882382" B="3.92156863" G="1.17647064" R="0"/> <Color A="0.505882382" B="0" G="1.17647064" R="0"/>
</c:Text> </c:Text>
<c:HealthHUD/> <c:HealthHUD/>
<c:Transform> <c:Transform>
@@ -433,6 +452,7 @@
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/HealthHUD3.png</DiffuseTexture> <DiffuseTexture>Textures/HealthHUD3.png</DiffuseTexture>
<Color A="0.588235319" B="0" G="0" R="0"/> <Color A="0.588235319" B="0" G="0" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Scale X="0.106000006" Y="0.333000004" Z="0.150000006"/> <Scale X="0.106000006" Y="0.333000004" Z="0.150000006"/>
@@ -451,17 +471,18 @@
<Entity name="Assault"> <Entity name="Assault">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="0.533333361" G="1" R="0.329411775"/> <Color A="1" B="0.533333361" G="1.56862748" R="0.329411775"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Assault-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Assault-01.png</DiffuseTexture>
<Color A="0" B="0.0392156877" G="0.184313729" R="0"/> <Color A="0.392156869" B="0.0392156877" G="0.184313729" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.0700000003" Z="0"/> <Position X="0.0250000004" Y="0.0870000049" Z="0"/>
<Orientation X="0" Y="0" Z="3.14199996"/> <Orientation X="0" Y="0" Z="3.14199996"/>
<Scale X="0.0399999991" Y="0.0399999991" Z="0.5"/> <Scale X="0.0399999991" Y="0.0399999991" Z="0.5"/>
</c:Transform> </c:Transform>
@@ -471,17 +492,18 @@
<Entity name="Defender"> <Entity name="Defender">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="1" G="0.58431375" R="0.105882354"/> <Color A="1" B="1.96078432" G="0.58431375" R="0.105882354"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Defender-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Defender-01.png</DiffuseTexture>
<Color A="0" B="0.34117648" G="0.192156866" R="0"/> <Color A="0.392156869" B="0.34117648" G="0.192156866" R="0"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0270000007" Y="0.110000007" Z="0"/> <Position X="0.0240000002" Y="0.131999999" Z="0"/>
<Orientation X="0" Y="0" Z="3.14199996"/> <Orientation X="0" Y="0" Z="3.14199996"/>
<Scale X="0.0399999991" Y="0.0400000028" Z="0.165000007"/> <Scale X="0.0399999991" Y="0.0400000028" Z="0.165000007"/>
</c:Transform> </c:Transform>
@@ -491,14 +513,16 @@
<Entity name="Sniper"> <Entity name="Sniper">
<Components> <Components>
<c:Fill> <c:Fill>
<Color A="1" B="0.345098048" G="0" R="1"/> <Color A="1" B="0.345098048" G="0" R="1.96078432"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures/Icons/Boosts/Sniper-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Boosts/Sniper-01.png</DiffuseTexture>
<Color A="0" B="0.121568628" G="0" R="0.443137258"/> <Color A="0.392156869" B="0.121568628" G="0" R="0.443137258"/>
<Visible>false</Visible>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.145000011" Z="0"/> <Position X="0.0250000004" Y="0.145000011" Z="0"/>
@@ -514,20 +538,21 @@
<Components> <Components>
<c:AbilityCooldownHUD/> <c:AbilityCooldownHUD/>
<c:Fill> <c:Fill>
<Percentage>inf</Percentage> <Percentage>1</Percentage>
<Color A="1" B="0.392156869" G="0.392156869" R="0.392156869"/> <Color A="1" B="0.392156869" G="0.392156869" R="0.392156869"/>
</c:Fill> </c:Fill>
<c:Sprite> <c:Sprite>
<DepthSort>false</DepthSort> <DepthSort>false</DepthSort>
<Model>Models/Core/UnitQuad.mesh</Model> <Model>Models/Core/UnitQuad.mesh</Model>
<GlowMap></GlowMap> <GlowMap></GlowMap>
<DiffuseTexture>Textures\Icons\Abilities\SheildDots-01.png</DiffuseTexture> <DiffuseTexture>Textures/Icons/Abilities/Long/SheildDots-01.png</DiffuseTexture>
<Color A="1" B="0.206628323" G="0.78039217" R="0.192802757"/> <Color A="1" B="0.20784314" G="1.17647064" R="0.192156866"/>
<Linear>true</Linear>
</c:Sprite> </c:Sprite>
<c:Transform> <c:Transform>
<Position X="0.0250000004" Y="0.0100000007" Z="0"/> <Position X="0.0250000004" Y="0.0100000007" Z="0"/>
<Orientation X="0" Y="0" Z="3.14159203"/> <Orientation X="0" Y="0" Z="1.57000005"/>
<Scale X="0.0800000057" Y="0.0700000003" Z="1"/> <Scale X="0.0800000057" Y="0.029000001" Z="1"/>
</c:Transform> </c:Transform>
</Components> </Components>
<Children/> <Children/>
@@ -538,6 +563,8 @@
</Entity> </Entity>
</Children> </Children>
</Entity> </Entity>
</Children>
</Entity>
<Entity name="ThirdPersonCamera"> <Entity name="ThirdPersonCamera">
<Components> <Components>
<c:Camera> <c:Camera>
+59 -3
View File
@@ -35,6 +35,11 @@ bool BoostSystem::OnPlayerDamage(Events::PlayerDamage& e)
return false; return false;
} }
LOG_INFO("intflictor: %s, vicitm: %s", e.Inflictor.Name().c_str(), e.Victim.Name().c_str());
if(className == "SidearmWeapon") { // give ammo
giveAmmo(e.Inflictor, e.Victim);
} else { //give boost
//get the XML file, example: "Schema/Entities/BoostclassName.xml" //get the XML file, example: "Schema/Entities/BoostclassName.xml"
std::string classXML = "Schema/Entities/" + className + ".xml"; std::string classXML = "Schema/Entities/" + className + ".xml";
@@ -48,6 +53,7 @@ bool BoostSystem::OnPlayerDamage(Events::PlayerDamage& e)
EntityWrapper boostAssaultEntity = entityFile->MergeInto(m_World); EntityWrapper boostAssaultEntity = entityFile->MergeInto(m_World);
m_World->SetName(boostAssaultEntity.ID, className); m_World->SetName(boostAssaultEntity.ID, className);
m_World->SetParent(boostAssaultEntity.ID, e.Victim.ID); m_World->SetParent(boostAssaultEntity.ID, e.Victim.ID);
}
return true; return true;
} }
@@ -55,14 +61,64 @@ bool BoostSystem::OnPlayerDamage(Events::PlayerDamage& e)
std::string BoostSystem::DetermineClass(EntityWrapper inflictorPlayer) std::string BoostSystem::DetermineClass(EntityWrapper inflictorPlayer)
{ {
//determine the class based on what component the inflictor-player has //determine the class based on what component the inflictor-player has
if (m_World->HasComponent(inflictorPlayer.ID, "DashAbility")) { if (inflictorPlayer.HasComponent("Player")) {
if ((std::string)inflictorPlayer["Player"]["CurrentWeapon"] == "AssaultWeapon") {
return "BoostAssault"; return "BoostAssault";
} }
if (m_World->HasComponent(inflictorPlayer.ID, "ShieldAbility")) { if ((std::string)inflictorPlayer["Player"]["CurrentWeapon"] == "DefenderWeapon") {
return "BoostDefender"; return "BoostDefender";
} }
if (m_World->HasComponent(inflictorPlayer.ID, "SprintAbility")) { if ((std::string)inflictorPlayer["Player"]["CurrentWeapon"] == "SniperWeapon") {
return "BoostSniper"; return "BoostSniper";
} }
if ((std::string)inflictorPlayer["Player"]["CurrentWeapon"] == "SidearmWeapon") {
return "SidearmWeapon";
}
}
return ""; return "";
} }
void BoostSystem::giveAmmo(EntityWrapper giver, EntityWrapper receiver)
{
bool gaveAmmo = false;
if (receiver.HasComponent("AssaultWeapon")) {
int magazineSize = receiver["AssaultWeapon"]["MagazineSize"];
int& magazineAmmo = receiver["AssaultWeapon"]["MagazineAmmo"];
int maxAmmo = receiver["AssaultWeapon"]["MaxAmmo"];
int& ammo = receiver["AssaultWeapon"]["Ammo"];
if (magazineAmmo < magazineSize) {
magazineAmmo += 1;
gaveAmmo = true;
} else if (ammo < maxAmmo) {
ammo += 1;
gaveAmmo = true;
}
} else if (receiver.HasComponent("DefenderWeapon")) {
int magazineSize = receiver["DefenderWeapon"]["MagazineSize"];
int& magazineAmmo = receiver["DefenderWeapon"]["MagazineAmmo"];
int maxAmmo = receiver["DefenderWeapon"]["MaxAmmo"];
int& ammo = receiver["DefenderWeapon"]["Ammo"];
if (magazineAmmo < magazineSize) {
magazineAmmo += 1;
gaveAmmo = true;
} else if (ammo < maxAmmo) {
ammo += 1;
gaveAmmo = true;
}
}
if (gaveAmmo) {
EntityWrapper effectSpawner = giver.FirstChildByName("AmmoShareEffectSpawner");
if (effectSpawner.Valid()) {
if (effectSpawner.HasComponent("Spawner")) {
SpawnerSystem::Spawn(effectSpawner, effectSpawner);
}
}
}
}
@@ -281,7 +281,7 @@ bool SidearmWeaponBehaviour::dealDamage(ComponentWrapper cWeapon, WeaponInfo& wi
// If friendly fire, reduce damage to 0 (needed to make Boosts, Ammosharing work) // If friendly fire, reduce damage to 0 (needed to make Boosts, Ammosharing work)
if ((ComponentInfo::EnumType)victim["Team"]["Team"] == (ComponentInfo::EnumType)wi.Player["Team"]["Team"]) { if ((ComponentInfo::EnumType)victim["Team"]["Team"] == (ComponentInfo::EnumType)wi.Player["Team"]["Team"]) {
damage = 0; damage = 0;
giveAmmo(cWeapon, wi, victim); //giveAmmo(cWeapon, wi, victim);
} }
// Deal damage! // Deal damage!
@@ -293,6 +293,7 @@ bool SidearmWeaponBehaviour::dealDamage(ComponentWrapper cWeapon, WeaponInfo& wi
return damage > 0; return damage > 0;
} }
/*
void SidearmWeaponBehaviour::giveAmmo(ComponentWrapper cWeapon, WeaponInfo& wi, EntityWrapper receiver) void SidearmWeaponBehaviour::giveAmmo(ComponentWrapper cWeapon, WeaponInfo& wi, EntityWrapper receiver)
{ {
@@ -337,7 +338,7 @@ void SidearmWeaponBehaviour::giveAmmo(ComponentWrapper cWeapon, WeaponInfo& wi,
} }
} }
} }
} }*/
void SidearmWeaponBehaviour::CheckAmmo(ComponentWrapper cWeapon, WeaponInfo& wi) void SidearmWeaponBehaviour::CheckAmmo(ComponentWrapper cWeapon, WeaponInfo& wi)
{ {