_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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user