diff --git a/resources/Schema/Entities/NewMapWSpectatorCam.xml b/resources/Schema/Entities/NewMapWSpectatorCam.xml
index 2305c008..fc4dd9a1 100644
--- a/resources/Schema/Entities/NewMapWSpectatorCam.xml
+++ b/resources/Schema/Entities/NewMapWSpectatorCam.xml
@@ -23,6 +23,18 @@
+
+
+
+
+ Models/Props/Highground1.mesh
+
+
+
+
+
+
+
@@ -75,18 +87,6 @@
-
-
-
-
- Models/Props/Highground1.mesh
-
-
-
-
-
-
-
@@ -2843,6 +2843,178 @@
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/AssaultHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
@@ -3229,6 +3401,125 @@
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitPlane.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
@@ -3283,96 +3574,6 @@
-
-
-
-
- Models/Props/Walls/MediumWall3.mesh
-
-
-
-
-
-
-
-
-
-
- Models/Props/Walls/MediumWall3.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Pillars/SciFiBridgePillar1.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Core/UnitCube.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Walls/MediumWall1.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Walls/MediumWall1.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Walls/MediumWall1.mesh
-
-
-
-
-
-
-
-
-
@@ -3441,21 +3642,6 @@
-
-
-
- Models/Core/UnitPlane.mesh
-
- true
-
-
-
-
-
-
-
-
-
@@ -3499,20 +3685,6 @@
-
-
-
-
- Models/Props/Pillars/SciFiBridgePillar1.mesh
-
-
-
-
-
-
-
-
-
@@ -3520,6 +3692,35 @@
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
@@ -3533,119 +3734,6 @@
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/TreeLog.mesh
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
@@ -3664,7 +3752,7 @@
true
-
+
@@ -3676,7 +3764,7 @@
true
-
+
@@ -3695,57 +3783,6 @@
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Flora/SpecialRoot.mesh
-
-
-
-
-
-
-
-
@@ -3757,18 +3794,6 @@
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
@@ -3788,7 +3813,7 @@
true
-
+
@@ -3800,7 +3825,19 @@
true
-
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
@@ -3826,7 +3863,7 @@
true
-
+
@@ -3837,11 +3874,37 @@
true
-
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
@@ -3854,6 +3917,18 @@
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
@@ -3868,6 +3943,20 @@
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
@@ -3889,9 +3978,37 @@
true
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
@@ -3931,9 +4048,135 @@
true
-
-
-
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/TreeLog.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/SpecialRoot.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
@@ -3952,20 +4195,6 @@
-
-
-
-
- Models/Props/Flora/SpecialRoot.mesh
-
-
-
-
-
-
-
-
-
@@ -3980,20 +4209,6 @@
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
@@ -4007,20 +4222,6 @@
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
@@ -4036,21 +4237,6 @@
-
-
-
-
- Models/Props/Flora/AliveBush.mesh
- true
-
-
-
-
-
-
-
-
-
@@ -4066,20 +4252,6 @@
-
-
-
-
- Models/Props/Flora/SpecialRoot.mesh
-
-
-
-
-
-
-
-
-
@@ -4107,36 +4279,8 @@
Models/Props/PickUps/PickUpHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/PickUps/PickUpHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/PickUps/PickUpHolder.mesh
-
-
-
-
+
+
@@ -4173,8 +4317,50 @@
Models/Props/PickUps/PickUpHolder.mesh
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
@@ -4194,20 +4380,6 @@
-
-
-
-
- Models/Props/PickUps/PickUpHolder.mesh
-
-
-
-
-
-
-
-
-
@@ -4224,183 +4396,24 @@
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/AssaultHolder.mesh
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Models/Props/SciFiHolder1.mesh
+
+
+
+
+
+
+
+
@@ -4479,19 +4492,6 @@
-
-
-
-
- Models/Props/SciFiHolder1.mesh
-
-
-
-
-
-
-
-
@@ -4519,13 +4519,53 @@
Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
@@ -4547,8 +4587,8 @@
Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
+
+
@@ -4561,75 +4601,8 @@
Models/Props/Stones/ShinyStoneCrystalRed.mesh
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalRed.mesh
-
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalRed.mesh
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
-
-
+
+
@@ -4656,8 +4629,8 @@
Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
+
+
@@ -4670,8 +4643,63 @@
Models/Props/Stones/ShinyStoneCrystalBlue.mesh
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalRed.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/ShinyStoneCrystalBlue.mesh
+
+
+
+
@@ -4691,20 +4719,6 @@
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalRed.mesh
-
-
-
-
-
-
-
-
-
@@ -4718,20 +4732,6 @@
-
-
-
-
- Models/Props/Stones/ShinyStoneCrystalRed.mesh
-
-
-
-
-
-
-
-
-
@@ -4750,6 +4750,159 @@
+
+
+
+
+
+
+
+
+
+ Schema/Entities/PlayerRed.xml
+
+
+
+
+
+
+
+
+
+
+ Models/Characters/Assault/AssaultTPose.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Models/Characters/Assault/AssaultTPose.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Models/Characters/Assault/AssaultTPose.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Models/Characters/Assault/AssaultTPose.mesh
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
@@ -4757,18 +4910,37 @@
-
+
0.10000000149011612
- Models/Props/PickUps/AmmoPickUp.mesh
+ Models/Props/PickUps/HealthPickUp.mesh
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.10000000149011612
+
+
+
+ Models/Props/PickUps/HealthPickUp.mesh
+
+
+
+
@@ -4805,8 +4977,8 @@
Models/Props/PickUps/AmmoPickUp.mesh
-
-
+
+
@@ -4814,18 +4986,37 @@
-
+
0.10000000149011612
- Models/Props/PickUps/HealthPickUp.mesh
+ Models/Props/PickUps/AmmoPickUp.mesh
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.10000000149011612
+
+
+
+ Models/Props/PickUps/AmmoPickUp.mesh
+
+
+
+
@@ -4850,25 +5041,6 @@
-
-
-
-
-
- 0.10000000149011612
-
-
-
- Models/Props/PickUps/AmmoPickUp.mesh
-
-
-
-
-
-
-
-
-
@@ -4888,25 +5060,6 @@
-
-
-
-
-
- 0.10000000149011612
-
-
-
- Models/Props/PickUps/HealthPickUp.mesh
-
-
-
-
-
-
-
-
-
@@ -4946,7 +5099,7 @@
false
-
+
@@ -4959,7 +5112,7 @@
false
-
+
@@ -4979,89 +5132,6 @@
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
@@ -5071,28 +5141,35 @@
- Models/Props/CapturePoint/CapturePointNeutral.mesh
+ Models/Props/CapturePoint/CapturePointBlue.mesh
-
+
- 2
+
+
+
+ 4
-
+
+
+
+
+
Models/Core/UnitCylinder.mesh
-
+
true
-
-
+
+
@@ -5137,6 +5214,39 @@
+
+
+
+
+ Models/Props/CapturePoint/CapturePointNeutral.mesh
+
+
+
+
+
+
+
+
+
+ 1.5498908015879351
+ 1
+
+
+
+
+ Models/Core/UnitCylinder.mesh
+
+ true
+
+
+
+
+
+
+
+
+
+
@@ -5176,15 +5286,14 @@
Models/Props/CapturePoint/CapturePointNeutral.mesh
-
+
- 1.5498908015879351
- 1
+ 2
@@ -5194,123 +5303,14 @@
true
-
-
+
+
-
-
-
-
- Models/Props/CapturePoint/CapturePointBlue.mesh
-
-
-
-
-
-
-
-
-
-
-
-
- 4
-
-
-
-
-
-
-
-
- Models/Core/UnitCylinder.mesh
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schema/Entities/PlayerRed.xml
-
-
-
-
-
-
-
-
-
-
- Models/Characters/Assault/AssaultTPose.mesh
- false
-
-
-
-
-
-
-
-
-
-
-
- Models/Characters/Assault/AssaultTPose.mesh
- false
-
-
-
-
-
-
-
-
-
-
-
- Models/Characters/Assault/AssaultTPose.mesh
- false
-
-
-
-
-
-
-
-
-
-
-
- Models/Characters/Assault/AssaultTPose.mesh
- false
-
-
-
-
-
-
-
@@ -5332,6 +5332,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 1
+
+
+
+
+
+
+
+
+
+
+ Spectator
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 2
+
+
+
+
+
+
+
+
+
+
+ Red
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 3
+
+
+
+
+
+
+
+
+
+
+ Blue
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pick Team
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5358,10 +5488,10 @@
Textures/Core/UnitHexagon.png
-
+
-
+
@@ -5371,7 +5501,7 @@
- 2
+ 4
Textures/Core/UnitHexagon_Rotated.png
@@ -5426,10 +5556,10 @@
Textures/Core/UnitHexagon.png
-
+
-
+
@@ -5439,7 +5569,7 @@
- 4
+ 2
Textures/Core/UnitHexagon_Rotated.png
@@ -5455,6 +5585,38 @@
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5490,38 +5652,6 @@
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon_Rotated.png
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5551,28 +5681,10 @@
-
+
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
- PickClass
- 2
-
-
-
-
-
-
-
-
@@ -5585,11 +5697,59 @@
1
-
+
-
+
+
+
+
+ Assault
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+ PickClass
+ 2
+
+
+
+
+
+
+
+
+
+
+ Defender
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
@@ -5603,81 +5763,37 @@
3
-
+
-
+
+
+
+
+ Sniper
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
- PickTeam
- 2
-
+
+ Pick Class
+ Fonts/DroidSans.ttf,64
+
+
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
- PickTeam
- 3
-
-
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
- PickTeam
- 1
-
-
-
-
+
+
diff --git a/resources/Schema/Entities/OverwatchCamera.xml b/resources/Schema/Entities/OverwatchCamera.xml
index a6ef1f74..ee3c1cb1 100644
--- a/resources/Schema/Entities/OverwatchCamera.xml
+++ b/resources/Schema/Entities/OverwatchCamera.xml
@@ -20,6 +20,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 1
+
+
+
+
+
+
+
+
+
+
+ Spectator
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 2
+
+
+
+
+
+
+
+
+
+
+ Red
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+ PickTeam
+ 3
+
+
+
+
+
+
+
+
+
+
+ Blue
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pick Team
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -46,10 +176,10 @@
Textures/Core/UnitHexagon.png
-
+
-
+
@@ -59,7 +189,7 @@
- 2
+ 4
Textures/Core/UnitHexagon_Rotated.png
@@ -114,10 +244,10 @@
Textures/Core/UnitHexagon.png
-
+
-
+
@@ -127,7 +257,7 @@
- 4
+ 2
Textures/Core/UnitHexagon_Rotated.png
@@ -143,6 +273,38 @@
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon_Rotated.png
+
+
+
+
+
+
+
+
+
+
+
+
@@ -178,38 +340,6 @@
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon_Rotated.png
-
-
-
-
-
-
-
-
-
-
-
-
@@ -239,28 +369,10 @@
-
+
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
- PickClass
- 2
-
-
-
-
-
-
-
-
@@ -273,11 +385,59 @@
1
-
+
-
+
+
+
+
+ Assault
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Textures/Core/UnitHexagon.png
+
+
+
+ PickClass
+ 2
+
+
+
+
+
+
+
+
+
+
+ Defender
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
@@ -291,81 +451,37 @@
3
-
+
-
+
+
+
+
+ Sniper
+ Fonts/DroidSans.ttf,64
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
- PickTeam
- 2
-
+
+ Pick Class
+ Fonts/DroidSans.ttf,64
+
+
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
-
- PickTeam
- 3
-
-
-
-
-
-
-
-
-
-
-
-
- Textures/Core/UnitHexagon.png
-
-
-
- PickTeam
- 1
-
-
-
-
+
+
diff --git a/src/Game/Systems/PlayerSpawnSystem.cpp b/src/Game/Systems/PlayerSpawnSystem.cpp
index 56ace14c..10632c0a 100644
--- a/src/Game/Systems/PlayerSpawnSystem.cpp
+++ b/src/Game/Systems/PlayerSpawnSystem.cpp
@@ -60,6 +60,13 @@ void PlayerSpawnSystem::Update(double dt)
int numSpawnedPlayers = 0;
for (auto it = m_SpawnRequests.begin(); it != m_SpawnRequests.end(); ++it) {
+ // TODO: -1 Signifies no class picked, enum here later?
+ // Increase num spawned players if they didn't pick class yet since it is valid
+ // but don't spawn anything, goto next spawnrequest.
+ if (it->Class == -1) {
+ ++numSpawnedPlayers;
+ break;
+ }
for (auto& cPlayerSpawn : *playerSpawns) {
EntityWrapper spawner(m_World, cPlayerSpawn.EntityID);
if (!spawner.HasComponent("Spawner")) {
@@ -70,11 +77,9 @@ void PlayerSpawnSystem::Update(double dt)
if (spawner.HasComponent("Team")) {
auto cSpawnerTeam = spawner["Team"];
if ((int)cSpawnerTeam["Team"] != it->Team) {
- // Increase num spawned players if someone picks spectator or didn't
- // pick a class yet, since it is valid
+ // Increase num spawned players if someone picks spectator since it is valid
// but don't spawn anything, goto next spawnrequest.
- // TODO: -1 Signifies no class picked, enum here later?
- if (it->Class == -1 || it->Team == (int)cSpawnerTeam["Team"].Enum("Spectator")) {
+ if (it->Team == (int)cSpawnerTeam["Team"].Enum("Spectator")) {
++numSpawnedPlayers;
break;
}
@@ -149,8 +154,10 @@ bool PlayerSpawnSystem::OnInputCommand(Events::InputCommand& e)
// If player is in queue to spawn, then change their team affiliation or class in the request.
if (e.Command == "PickTeam") {
iter->Team = (ComponentInfo::EnumType)e.Value;
+ LOG_INFO("old request swap Team");
} else {
iter->Class = (ComponentInfo::EnumType)e.Value;
+ LOG_INFO("old request swap Class");
}
} else if (m_PlayerEntities.count(e.PlayerID) == 0 || !m_PlayerEntities[e.PlayerID].Valid()) {
// If player is not in queue to spawn, then create a spawn request,
@@ -160,9 +167,11 @@ bool PlayerSpawnSystem::OnInputCommand(Events::InputCommand& e)
if (e.Command == "PickTeam") {
req.Team = (ComponentInfo::EnumType)e.Value;
req.Class = -1; // TODO: -1 Signifies no class picked, enum here later?
+ LOG_INFO("new request set Team");
} else {
req.Team = 1; // TODO: 1 Signifies spectator, should probably have real enum here later.
req.Class = (ComponentInfo::EnumType)e.Value;
+ LOG_INFO("new request set Class");
}
m_SpawnRequests.push_back(req);
} else {