diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs index 2304490..9696a76 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs @@ -100,7 +100,10 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities isJump = false; } base.Update(gameTime); - Move(gameTime); + if (id == AppManager.Instance.GameManager.GetPlayer1.id) + { + Move(gameTime); + } } public void Move(GameTime gameTime) diff --git a/DangerousD/GameCore/Managers/AppManager.cs b/DangerousD/GameCore/Managers/AppManager.cs index 372dab9..54f5f37 100644 --- a/DangerousD/GameCore/Managers/AppManager.cs +++ b/DangerousD/GameCore/Managers/AppManager.cs @@ -59,7 +59,7 @@ namespace DangerousD.GameCore resolution = SettingsManager.Resolution; _graphics.PreferredBackBufferWidth = resolution.X; _graphics.PreferredBackBufferHeight = resolution.Y; - _graphics.IsFullScreen = true; + _graphics.IsFullScreen = false; gameState = GameState.Menu; MenuGUI = new MenuGUI(); LoginGUI = new LoginGUI(); @@ -99,6 +99,7 @@ namespace DangerousD.GameCore SoundManager.LoadSounds(); SoundManager.StartAmbientSound("DoomTestSong"); renderTarget = new RenderTarget2D(GraphicsDevice, inGameResolution.X, inGameResolution.Y); + } protected override void Update(GameTime gameTime) @@ -222,10 +223,17 @@ namespace DangerousD.GameCore case NetworkTaskOperationEnum.ConnectToHost: Player connectedPlayer = new Player(Vector2.Zero); NetworkTasks.Add(new NetworkTask(connectedPlayer.id)); + NetworkTask task = new NetworkTask(); + NetworkTasks.Add(task.AddConnectedPlayer(GameManager.GetPlayer1.id, GameManager.GetPlayer1.Pos)); break; case NetworkTaskOperationEnum.GetClientPlayerId: GameManager.GetPlayer1.id = networkTask.objId; break; + case NetworkTaskOperationEnum.AddConnectedPlayer: + Player remoteConnectedPlayer = new Player(networkTask.position); + remoteConnectedPlayer.id = networkTask.objId; + GameManager.players.Add(remoteConnectedPlayer); + break; default: break; } diff --git a/DangerousD/GameCore/Managers/GameManager.cs b/DangerousD/GameCore/Managers/GameManager.cs index 914b8e6..9dfe708 100644 --- a/DangerousD/GameCore/Managers/GameManager.cs +++ b/DangerousD/GameCore/Managers/GameManager.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.Text; using DangerousD.GameCore.GameObjects.LivingEntities.Monsters; using System.Linq; +using DangerousD.GameCore.GUI; namespace DangerousD.GameCore { @@ -100,6 +101,7 @@ namespace DangerousD.GameCore public void Update(GameTime gameTime) { + AppManager.Instance.DebugHUD.Set("playerId: ", GetPlayer1.id.ToString()); if (AppManager.Instance.NetworkTasks.Count > 0) { AppManager.Instance.NetworkManager.SendMsg(AppManager.Instance.NetworkTasks.ToList()); @@ -118,7 +120,6 @@ namespace DangerousD.GameCore { livingEntitiesWithoutPlayers[i].Update(gameTime); } - GetPlayer1.Update(gameTime); } else { @@ -126,8 +127,8 @@ namespace DangerousD.GameCore { livingEntitiesWithoutPlayers[i].PlayAnimation(); } - GetPlayer1.Update(gameTime); } + GetPlayer1.Update(gameTime); foreach (var item in otherObjects) item.Update(gameTime); diff --git a/DangerousD/GameCore/Network/NetworkTask.cs b/DangerousD/GameCore/Network/NetworkTask.cs index 2655274..a2cada7 100644 --- a/DangerousD/GameCore/Network/NetworkTask.cs +++ b/DangerousD/GameCore/Network/NetworkTask.cs @@ -128,5 +128,12 @@ namespace DangerousD.GameCore.Network this.velocity = velocity; this.type = type; } + public NetworkTask AddConnectedPlayer(int connectedPlayerId, Vector2 playerPosition) + { + operation = NetworkTaskOperationEnum.AddConnectedPlayer; + objId = connectedPlayerId; + position = playerPosition; + return this; + } } } diff --git a/DangerousD/GameCore/Network/NetworkTaskOperationEnum.cs b/DangerousD/GameCore/Network/NetworkTaskOperationEnum.cs index 86cb112..7fad430 100644 --- a/DangerousD/GameCore/Network/NetworkTaskOperationEnum.cs +++ b/DangerousD/GameCore/Network/NetworkTaskOperationEnum.cs @@ -9,6 +9,6 @@ namespace DangerousD.GameCore.Network [Serializable] public enum NetworkTaskOperationEnum { - TakeDamage, SendSound, CreateEntity, SendPosition, ChangeState, ConnectToHost, GetClientPlayerId + TakeDamage, SendSound, CreateEntity, SendPosition, ChangeState, ConnectToHost, GetClientPlayerId, AddConnectedPlayer } }