diff --git a/ZoFo/GameCore/Client.cs b/ZoFo/GameCore/Client.cs index 65b55c8..d9e55e0 100644 --- a/ZoFo/GameCore/Client.cs +++ b/ZoFo/GameCore/Client.cs @@ -50,7 +50,8 @@ namespace ZoFo.GameCore networkManager.AddData(new UpdateInput() { InputMovementDirection = AppManager.Instance.InputManager.InputMovementDirection.Serialize(), - InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection.Serialize() + InputAttackDirection = AppManager.Instance.InputManager.InputAttackDirection.Serialize(), + PlayerId = AppManager.Instance.client.networkManager.PlayerId }); }; diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs index 7bbf9b6..f195a64 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs @@ -20,7 +20,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager { public class ClientNetworkManager { - private int PlayerId; + public int PlayerId; private IPEndPoint endPoint; private IPEndPoint sendingEP; private Socket socket; diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs index d64b40d..f50d9cb 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs @@ -28,7 +28,7 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager private IPAddress ip; private bool isMultiplayer; //Player Id to Player endPoint - private List clientsEP; + public List clientsEP; public IPEndPoint endPoint; private List commonUpdates; private List importantUpdates; diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs index 3450f13..932e399 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/ClientToServer/UpdateInput.cs @@ -14,6 +14,8 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer // public int IdEntity { get; set; } public SerializableVector2 InputMovementDirection{get;set;} public SerializableVector2 InputAttackDirection {get;set;} + + public int PlayerId {get;set;} public UpdateInput() { UpdateType = "UpdateInput"; diff --git a/ZoFo/GameCore/Server.cs b/ZoFo/GameCore/Server.cs index 7701e87..6acbc8b 100644 --- a/ZoFo/GameCore/Server.cs +++ b/ZoFo/GameCore/Server.cs @@ -69,7 +69,11 @@ namespace ZoFo.GameCore { case "UpdateInput": if (players.Count > 0) - players[0].HandleNewInput(updateData as UpdateInput);//TODO id instead of 0 + { + UpdateInput data = updateData as UpdateInput; + players[data.PlayerId-1].HandleNewInput(data); + } + //TODO id instead of 0 else DebugHUD.DebugLog("NO PLAYER ON MAP"); break; @@ -124,7 +128,12 @@ namespace ZoFo.GameCore new MapManager().LoadMap(); //AppManager.Instance.server.RegisterGameObject(new EntittyForAnimationTests(new Vector2(0, 0))); - AppManager.Instance.server.RegisterGameObject(new Player(new Vector2(760, 140))); + for (int i = 0; i < networkManager.clientsEP.Count; i++) + { + Player player = new Player(new Vector2(760 - 30 * i, 140)); + RegisterGameObject(player); + networkManager.AddData(new UpdateCreatePlayer() { PlayerId = i+1, IdEntity=player.Id}); + } //for (int i = 0; i < 20; i++) // for (int j = 0; j < 20; j++) // AppManager.Instance.server.RegisterGameObject(new Zombie(new Vector2(1300 + i*70, 1000+j*70)));