From 500ebfa08c87180753ed13d5dae2e00c03fcc99d Mon Sep 17 00:00:00 2001 From: Tleety Date: Wed, 9 Mar 2016 14:34:02 +0100 Subject: [PATCH] Menu should now show the correct server IP instead of default. Start of a StartMenu entity that will show when the game is started. --- resources/Schema/Entities/StartMenu.xml | 87 +++++++++++++++++++++++++ src/Game/Systems/MainMenuSystem.cpp | 4 +- src/Game/Systems/ServerListSystem.cpp | 5 +- 3 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 resources/Schema/Entities/StartMenu.xml diff --git a/resources/Schema/Entities/StartMenu.xml b/resources/Schema/Entities/StartMenu.xml new file mode 100644 index 00000000..ced29305 --- /dev/null +++ b/resources/Schema/Entities/StartMenu.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + Schema/Entities/CP_Rocky.xml + + + + + + + + + + + + + + + + 0.10000000149011612 + + + + + + + + + + + 0.20000000298023224 + + + + + + + + + + + + + + + + + + + + + + + + + Schema/Entities/MainMenu.xml + + + + + + + + + + + + + + + + + + diff --git a/src/Game/Systems/MainMenuSystem.cpp b/src/Game/Systems/MainMenuSystem.cpp index fcb04b4f..f3ff439f 100644 --- a/src/Game/Systems/MainMenuSystem.cpp +++ b/src/Game/Systems/MainMenuSystem.cpp @@ -23,8 +23,8 @@ bool MainMenuSystem::OnButtonClick(const Events::ButtonClicked& e) EntityWrapper serverIdentityEntity = entity.FirstParentWithComponent("ServerIdentity"); if(serverIdentityEntity.Valid()) { Events::ConnectRequest event; - event.IP = (std::string)entity["ServerIdentity"]["IP"]; - event.Port = (int)entity["ServerIdentity"]["Port"]; + event.IP = (std::string)serverIdentityEntity["ServerIdentity"]["IP"]; + event.Port = (int)serverIdentityEntity["ServerIdentity"]["Port"]; printf("\n ----Request Server Connect----\nIP: %s\nPort: %i\n ------------------------------", event.IP, event.Port); m_EventBroker->Publish(event); } diff --git a/src/Game/Systems/ServerListSystem.cpp b/src/Game/Systems/ServerListSystem.cpp index f2813b64..21dea084 100644 --- a/src/Game/Systems/ServerListSystem.cpp +++ b/src/Game/Systems/ServerListSystem.cpp @@ -37,11 +37,12 @@ bool ServerListSystem::OnServerListRecieved(const Events::DisplayServerlist& e) for (int i = 0; i < e.Serverlist.size(); i++) { //Create Identities for each server and place them on the right position. EntityWrapper newIdentity = SpawnerSystem::Spawn(identitySpawner, identitySpawner); + EntityWrapper serverIdentityEntity = newIdentity.FirstChildByName("ServerIdentity"); glm::vec3 offset = (glm::vec3)serverListEntity["ServerList"]["Offset"]; - (glm::vec3&)newIdentity["Transform"]["Position"] = offset * (float)i; + (glm::vec3&)serverIdentityEntity["Transform"]["Position"] = offset * (float)i; - auto& cIdentity = newIdentity["ServerIdentity"]; + auto& cIdentity = serverIdentityEntity["ServerIdentity"]; (std::string&)cIdentity["IP"] = e.Serverlist[i].Address; (std::string&)cIdentity["ServerName"] = e.Serverlist[i].Name; (int&)cIdentity["Port"] = e.Serverlist[i].Port;