diff --git a/include/Engine/Core/EntityWrapper.h b/include/Engine/Core/EntityWrapper.h
index 3d47b74c..b2e0ce4c 100644
--- a/include/Engine/Core/EntityWrapper.h
+++ b/include/Engine/Core/EntityWrapper.h
@@ -23,6 +23,7 @@ struct EntityWrapper
static const EntityWrapper Invalid;
+ const std::string Name();
bool HasComponent(const std::string& componentType);
EntityWrapper Parent();
EntityWrapper FirstChildByName(const std::string& name);
diff --git a/resources/Schema/Entities/GameMap.xml b/resources/Schema/Entities/GameMap.xml
index 8841e3c9..97fd3f4d 100644
--- a/resources/Schema/Entities/GameMap.xml
+++ b/resources/Schema/Entities/GameMap.xml
@@ -123,6 +123,121 @@
+
+
+
+
+ Models/Core/UnitCube.mesh
+ false
+
+
+ Schema/Entities/Player.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+ false
+
+
+ Schema/Entities/Player.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/Schema/Entities/Player.xml b/resources/Schema/Entities/Player.xml
index 0e13dc94..7914f82b 100644
--- a/resources/Schema/Entities/Player.xml
+++ b/resources/Schema/Entities/Player.xml
@@ -20,7 +20,6 @@
-
@@ -31,7 +30,6 @@
-
@@ -40,10 +38,9 @@
Fonts/DroidSans.ttf,100
- false
-
+
@@ -144,13 +141,12 @@
Hold Pos
-
+
1
Models/AssaultAnimated.mesh
- false
diff --git a/resources/Schema/Entities/Spawnpoint b/resources/Schema/Entities/Spawnpoint
new file mode 100644
index 00000000..a53aaa08
--- /dev/null
+++ b/resources/Schema/Entities/Spawnpoint
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+ Schema/Entities/Player.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Engine/Core/EntityWrapper.cpp b/src/Engine/Core/EntityWrapper.cpp
index ad423573..1f3fc1ab 100644
--- a/src/Engine/Core/EntityWrapper.cpp
+++ b/src/Engine/Core/EntityWrapper.cpp
@@ -3,6 +3,11 @@
const EntityWrapper EntityWrapper::Invalid = EntityWrapper(nullptr, EntityID_Invalid);
+const std::string EntityWrapper::Name()
+{
+ return World->GetName(ID);
+}
+
bool EntityWrapper::HasComponent(const std::string& componentName)
{
if (!Valid()) {
diff --git a/src/Engine/Rendering/RenderSystem.cpp b/src/Engine/Rendering/RenderSystem.cpp
index 6db6e4bb..a67f2c75 100644
--- a/src/Engine/Rendering/RenderSystem.cpp
+++ b/src/Engine/Rendering/RenderSystem.cpp
@@ -52,11 +52,15 @@ void RenderSystem::fillModels(std::list>& jobs)
// Don't render the local player
if (entity == m_LocalPlayer || entity.IsChildOf(m_LocalPlayer)) {
- if (!entity.HasComponent("HealthHUD")) { //Should work but needs to be fixed. Should only render the things "childed" to the local player camera
- //continue;
+ if (!entity.HasComponent("HealthHUD") && entity.Name() != "Crosshair" && entity.Name() != "Weapon") { //Should work but needs to be fixed. Should only render the things "childed" to the local player camera
+ continue;
}
}
+ if ((entity.Name() == "Weapon" || entity.HasComponent("HealthHUD")) && !entity.IsChildOf(m_LocalPlayer)) {
+ continue;
+ }
+
Model* model;
try {
model = ResourceManager::Load<::Model, true>(resource);
diff --git a/src/Game/Systems/PlayerSpawnSystem.cpp b/src/Game/Systems/PlayerSpawnSystem.cpp
index 84dce05c..7db6e8ff 100644
--- a/src/Game/Systems/PlayerSpawnSystem.cpp
+++ b/src/Game/Systems/PlayerSpawnSystem.cpp
@@ -102,10 +102,10 @@ bool PlayerSpawnSystem::OnPlayerSpawned(Events::PlayerSpawned& e)
}
// TODO: Set the player name to whatever
- //EntityWrapper playerName = e.Player.FirstChildByName("PlayerName");
- //if (playerName.Valid()) {
- // playerName["Text"]["Content"] = ???;
- //}
+ EntityWrapper playerName = e.Player.FirstChildByName("PlayerName");
+ if (playerName.Valid()) {
+ playerName["Text"]["Content"] = e.PlayerName;
+ }
return true;
}
\ No newline at end of file