public void Deserialize(NetDataReader reader) { ID = reader.GetKey32(); Secret = reader.GetJoinSecret(); MaxSize = reader.GetByte(); Level = reader.Get <LevelChangeMessage>(); Players = new PlayerJoinMessage[reader.GetByte()]; for (var i = 0; i < Players.Length; ++i) { Players[i] = reader.Get <PlayerJoinMessage>(); } }
public static bool TryParse(byte[] data, out JoinSecret result, out Version version) { var reader = new NetDataReader(data); try { version = reader.GetVersion(); } catch { result = default; version = default; return(false); } IPEndPoint endPoint; Key32 key; double tickDeltaTime; try { endPoint = reader.GetIPEndPoint(); key = reader.GetKey32(); tickDeltaTime = reader.GetDouble(); } catch { result = default; return(false); } if (tickDeltaTime <= 0) { result = default; return(false); } result = new JoinSecret(version, endPoint, key, tickDeltaTime); if (reader.AvailableBytes > 0) { return(false); } return(true); }
public static JoinSecret GetJoinSecret(this NetDataReader @this) { return(new JoinSecret(@this.GetVersion(), @this.GetIPEndPoint(), @this.GetKey32(), @this.GetDouble())); }
public void Deserialize(NetDataReader reader) { AccessKey = reader.GetKey32(); HostKey = reader.GetNullable <Key32>(NetDataReaderExtensions.GetKey32); ClientTime = reader.GetDouble(); }