NetworkMoving Improve

This commit is contained in:
AnloGames 2023-08-17 22:40:14 +03:00
parent 175fcde099
commit eb54e59fa1
5 changed files with 24 additions and 5 deletions

View file

@ -100,7 +100,10 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
isJump = false; isJump = false;
} }
base.Update(gameTime); base.Update(gameTime);
Move(gameTime); if (id == AppManager.Instance.GameManager.GetPlayer1.id)
{
Move(gameTime);
}
} }
public void Move(GameTime gameTime) public void Move(GameTime gameTime)

View file

@ -59,7 +59,7 @@ namespace DangerousD.GameCore
resolution = SettingsManager.Resolution; resolution = SettingsManager.Resolution;
_graphics.PreferredBackBufferWidth = resolution.X; _graphics.PreferredBackBufferWidth = resolution.X;
_graphics.PreferredBackBufferHeight = resolution.Y; _graphics.PreferredBackBufferHeight = resolution.Y;
_graphics.IsFullScreen = true; _graphics.IsFullScreen = false;
gameState = GameState.Menu; gameState = GameState.Menu;
MenuGUI = new MenuGUI(); MenuGUI = new MenuGUI();
LoginGUI = new LoginGUI(); LoginGUI = new LoginGUI();
@ -99,6 +99,7 @@ namespace DangerousD.GameCore
SoundManager.LoadSounds(); SoundManager.LoadSounds();
SoundManager.StartAmbientSound("DoomTestSong"); SoundManager.StartAmbientSound("DoomTestSong");
renderTarget = new RenderTarget2D(GraphicsDevice, inGameResolution.X, inGameResolution.Y); renderTarget = new RenderTarget2D(GraphicsDevice, inGameResolution.X, inGameResolution.Y);
} }
protected override void Update(GameTime gameTime) protected override void Update(GameTime gameTime)
@ -222,10 +223,17 @@ namespace DangerousD.GameCore
case NetworkTaskOperationEnum.ConnectToHost: case NetworkTaskOperationEnum.ConnectToHost:
Player connectedPlayer = new Player(Vector2.Zero); Player connectedPlayer = new Player(Vector2.Zero);
NetworkTasks.Add(new NetworkTask(connectedPlayer.id)); NetworkTasks.Add(new NetworkTask(connectedPlayer.id));
NetworkTask task = new NetworkTask();
NetworkTasks.Add(task.AddConnectedPlayer(GameManager.GetPlayer1.id, GameManager.GetPlayer1.Pos));
break; break;
case NetworkTaskOperationEnum.GetClientPlayerId: case NetworkTaskOperationEnum.GetClientPlayerId:
GameManager.GetPlayer1.id = networkTask.objId; GameManager.GetPlayer1.id = networkTask.objId;
break; break;
case NetworkTaskOperationEnum.AddConnectedPlayer:
Player remoteConnectedPlayer = new Player(networkTask.position);
remoteConnectedPlayer.id = networkTask.objId;
GameManager.players.Add(remoteConnectedPlayer);
break;
default: default:
break; break;
} }

View file

@ -9,6 +9,7 @@ using System.Collections.Generic;
using System.Text; using System.Text;
using DangerousD.GameCore.GameObjects.LivingEntities.Monsters; using DangerousD.GameCore.GameObjects.LivingEntities.Monsters;
using System.Linq; using System.Linq;
using DangerousD.GameCore.GUI;
namespace DangerousD.GameCore namespace DangerousD.GameCore
{ {
@ -100,6 +101,7 @@ namespace DangerousD.GameCore
public void Update(GameTime gameTime) public void Update(GameTime gameTime)
{ {
AppManager.Instance.DebugHUD.Set("playerId: ", GetPlayer1.id.ToString());
if (AppManager.Instance.NetworkTasks.Count > 0) if (AppManager.Instance.NetworkTasks.Count > 0)
{ {
AppManager.Instance.NetworkManager.SendMsg(AppManager.Instance.NetworkTasks.ToList()); AppManager.Instance.NetworkManager.SendMsg(AppManager.Instance.NetworkTasks.ToList());
@ -118,7 +120,6 @@ namespace DangerousD.GameCore
{ {
livingEntitiesWithoutPlayers[i].Update(gameTime); livingEntitiesWithoutPlayers[i].Update(gameTime);
} }
GetPlayer1.Update(gameTime);
} }
else else
{ {
@ -126,8 +127,8 @@ namespace DangerousD.GameCore
{ {
livingEntitiesWithoutPlayers[i].PlayAnimation(); livingEntitiesWithoutPlayers[i].PlayAnimation();
} }
GetPlayer1.Update(gameTime);
} }
GetPlayer1.Update(gameTime);
foreach (var item in otherObjects) foreach (var item in otherObjects)
item.Update(gameTime); item.Update(gameTime);

View file

@ -128,5 +128,12 @@ namespace DangerousD.GameCore.Network
this.velocity = velocity; this.velocity = velocity;
this.type = type; this.type = type;
} }
public NetworkTask AddConnectedPlayer(int connectedPlayerId, Vector2 playerPosition)
{
operation = NetworkTaskOperationEnum.AddConnectedPlayer;
objId = connectedPlayerId;
position = playerPosition;
return this;
}
} }
} }

View file

@ -9,6 +9,6 @@ namespace DangerousD.GameCore.Network
[Serializable] [Serializable]
public enum NetworkTaskOperationEnum public enum NetworkTaskOperationEnum
{ {
TakeDamage, SendSound, CreateEntity, SendPosition, ChangeState, ConnectToHost, GetClientPlayerId TakeDamage, SendSound, CreateEntity, SendPosition, ChangeState, ConnectToHost, GetClientPlayerId, AddConnectedPlayer
} }
} }