diff --git a/resources/Schema/Entities/MovementTest.xml b/resources/Schema/Entities/MovementTest.xml
index 00f94120..26d25edb 100644
--- a/resources/Schema/Entities/MovementTest.xml
+++ b/resources/Schema/Entities/MovementTest.xml
@@ -22,7 +22,7 @@
-
+
@@ -133,6 +133,51 @@
+
+
+
+
+ Schema/Entities/Player.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Assault.obj
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Assault.obj
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Game/Systems/PlayerSpawnSystem.cpp b/src/Game/Systems/PlayerSpawnSystem.cpp
index fe377866..84dce05c 100644
--- a/src/Game/Systems/PlayerSpawnSystem.cpp
+++ b/src/Game/Systems/PlayerSpawnSystem.cpp
@@ -78,6 +78,9 @@ bool PlayerSpawnSystem::OnPlayerSpawned(Events::PlayerSpawned& e)
m_World->DeleteEntity(m_PlayerEntities[e.PlayerID].ID);
}
+ // Store the player for future reference
+ m_PlayerEntities[e.PlayerID] = e.Player;
+
// Set the camera to the correct entity
EntityWrapper cameraEntity = e.Player.FirstChildByName("Camera");
if (cameraEntity.Valid()) {
@@ -86,8 +89,23 @@ bool PlayerSpawnSystem::OnPlayerSpawned(Events::PlayerSpawned& e)
m_EventBroker->Publish(e);
}
- // Store the player for future reference
- m_PlayerEntities[e.PlayerID] = e.Player;
+ // HACK: Set the player model color to team color
+ EntityWrapper playerModel = e.Player.FirstChildByName("PlayerModel");
+ if (playerModel.Valid() && e.Player.HasComponent("Team")) {
+ ComponentWrapper cTeam = e.Player["Team"];
+ ComponentWrapper cModel = playerModel["Model"];
+ if ((ComponentInfo::EnumType)cTeam["Team"] == cTeam["Team"].Enum("Red")) {
+ cModel["Color"] = glm::vec3(1.f, 0.f, 0.f);
+ } else if ((ComponentInfo::EnumType)cTeam["Team"] == cTeam["Team"].Enum("Blue")) {
+ cModel["Color"] = glm::vec3(0.f, 0.25f, 1.f);
+ }
+ }
+
+ // TODO: Set the player name to whatever
+ //EntityWrapper playerName = e.Player.FirstChildByName("PlayerName");
+ //if (playerName.Valid()) {
+ // playerName["Text"]["Content"] = ???;
+ //}
return true;
}
\ No newline at end of file