_asdf
This commit is contained in:
54
Source/Game/GameMode/Messages/AcceptConnectionMessage.cs
Normal file
54
Source/Game/GameMode/Messages/AcceptConnectionMessage.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FlaxEngine.Networking;
|
||||
using FlaxEngine;
|
||||
|
||||
namespace Game;
|
||||
|
||||
public struct AcceptConnectionMessage
|
||||
{
|
||||
public struct PlayerInfo
|
||||
{
|
||||
public uint PlayerId;
|
||||
public Float3 PlayerPosition;
|
||||
}
|
||||
public ulong Frame;
|
||||
public float GameTime;
|
||||
public PlayerInfo[] Players;
|
||||
|
||||
public static AcceptConnectionMessage Read(ref NetworkMessage networkMessage)
|
||||
{
|
||||
AcceptConnectionMessage packet = new AcceptConnectionMessage();
|
||||
packet.Frame = networkMessage.ReadUInt64();
|
||||
packet.GameTime = networkMessage.ReadSingle();
|
||||
int numActors = (int)networkMessage.ReadUInt32();
|
||||
|
||||
packet.Players = new PlayerInfo[numActors];
|
||||
for (int i = 0; i < numActors; i++)
|
||||
{
|
||||
packet.Players[i].PlayerId = networkMessage.ReadUInt32();
|
||||
packet.Players[i].PlayerPosition.X = networkMessage.ReadSingle();
|
||||
packet.Players[i].PlayerPosition.Y = networkMessage.ReadSingle();
|
||||
packet.Players[i].PlayerPosition.Z = networkMessage.ReadSingle();
|
||||
}
|
||||
return packet;
|
||||
}
|
||||
|
||||
public void Write(ref NetworkMessage networkMessage)
|
||||
{
|
||||
networkMessage.WriteByte((byte)GameModeMessageType2.AcceptConnection);
|
||||
networkMessage.WriteUInt64(Frame);
|
||||
networkMessage.WriteSingle(GameTime);
|
||||
networkMessage.WriteUInt32((uint)Players.Length);
|
||||
foreach (PlayerInfo player in Players)
|
||||
{
|
||||
networkMessage.WriteUInt32(player.PlayerId);
|
||||
networkMessage.WriteSingle(player.PlayerPosition.X);
|
||||
networkMessage.WriteSingle(player.PlayerPosition.Y);
|
||||
networkMessage.WriteSingle(player.PlayerPosition.Z);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FlaxEngine.Networking;
|
||||
using FlaxEngine;
|
||||
|
||||
namespace Game;
|
||||
|
||||
public struct WelcomePlayerMessage
|
||||
{
|
||||
public struct PlayerInfo
|
||||
{
|
||||
public uint playerId;
|
||||
public Float3 playerPosition;
|
||||
}
|
||||
public ulong frame;
|
||||
public float time;
|
||||
public PlayerInfo[] players;
|
||||
|
||||
public static WelcomePlayerMessage Read(ref NetworkMessage networkMessage)
|
||||
{
|
||||
WelcomePlayerMessage packet = new WelcomePlayerMessage();
|
||||
packet.frame = networkMessage.ReadUInt64();
|
||||
packet.time = networkMessage.ReadSingle();
|
||||
int numActors = (int)networkMessage.ReadUInt32();
|
||||
|
||||
packet.players = new PlayerInfo[numActors];
|
||||
for (int i = 0; i < numActors; i++)
|
||||
{
|
||||
packet.players[i].playerId = networkMessage.ReadUInt32();
|
||||
packet.players[i].playerPosition.X = networkMessage.ReadSingle();
|
||||
packet.players[i].playerPosition.Y = networkMessage.ReadSingle();
|
||||
packet.players[i].playerPosition.Z = networkMessage.ReadSingle();
|
||||
}
|
||||
return packet;
|
||||
}
|
||||
|
||||
public void Write(ref NetworkMessage networkMessage)
|
||||
{
|
||||
networkMessage.WriteByte((byte)GameModeMessageType.WelcomePlayer);
|
||||
networkMessage.WriteUInt64(frame);
|
||||
networkMessage.WriteSingle(time);
|
||||
networkMessage.WriteUInt32((uint)players.Length);
|
||||
foreach (PlayerInfo player in players)
|
||||
{
|
||||
networkMessage.WriteUInt32(player.playerId);
|
||||
networkMessage.WriteSingle(player.playerPosition.X);
|
||||
networkMessage.WriteSingle(player.playerPosition.Y);
|
||||
networkMessage.WriteSingle(player.playerPosition.Z);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user