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,8 +100,11 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
isJump = false;
}
base.Update(gameTime);
if (id == AppManager.Instance.GameManager.GetPlayer1.id)
{
Move(gameTime);
}
}
public void Move(GameTime gameTime)
{

View file

@ -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;
}

View file

@ -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);

View file

@ -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;
}
}
}

View file

@ -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
}
}