public void Deserialize(HazelBinaryReader reader) { PlayerName = reader.ReadString(); ColorId = reader.ReadByte(); HatId = (Hat)reader.ReadPackedUInt32(); SkinId = (Skin)reader.ReadPackedUInt32(); Flags = (PlayerInfoFlags)reader.ReadByte(); Tasks = reader.ReadList(read => { var task = new TaskInfo(); task.Deserialize(read); return(task); }); unknown = reader.ReadByte(); }
public void Deserialize(HazelBinaryReader reader, bool onSpawn) { if (onSpawn) { //This number of doors depends on the map //Skeld: 13 //HQ: 2? //Polus: 12 for (int i = 0; i < 12; i++) { doors.Add(new Doorway() { isOpen = reader.ReadBoolean(), }); } return; } uint doorFlags = reader.ReadPackedUInt32(); for (int j = 0; j < doors.Count; j++) { if ((doorFlags & (1U << j)) != 0U) { doors[j].isOpen = reader.ReadBoolean(); } } }
public override void Deserialize(HazelBinaryReader reader, bool onSpawn) { if (onSpawn) { Console.WriteLine("Meetinghud spawn"); for (int i = 0; i < 10; i++)//need to fix this here, packet only contains the amount of players in the server { while (reader.HasBytesLeft()) { playerStates.Add(new PlayerVoteArea() { value = (PlayerVoteAreaFlags)reader.ReadByte(), }); } } return; } Console.WriteLine("Meetinghud data"); uint updateMask = reader.ReadPackedUInt32(); for (int j = 0; j < 10; j++) { if ((updateMask & (1u << j)) != 0u) { playerStates[j].value = (PlayerVoteAreaFlags)reader.ReadByte(); } } }
public override void Deserialize(HazelBinaryReader reader, bool onSpawn) { if (onSpawn) { for (int i = 0; i < 24; i++) { var system = (SystemTypes)i; if (systems.ContainsKey(system)) { var systemObj = systems[system]; systemObj.Deserialize(reader, onSpawn); } } if (reader.HasBytesLeft()) { Console.WriteLine($"Bytesleft in ShipStatus DeserializeOnSpawn: size: {reader.GetBytesLeft()}"); } return; } uint systemFlags = reader.ReadPackedUInt32(); for (int i = 0; i < 24; i++) { if ((systemFlags & (1 << i)) != 0) { var system = (SystemTypes)i; var systemObj = systems[system]; systemObj.Deserialize(reader, onSpawn); } } if (reader.HasBytesLeft()) { Console.WriteLine($"Bytesleft in ShipStatus Deserialize: size: {reader.GetBytesLeft()}"); } }
public void Deserialize(HazelBinaryReader reader) { Id = reader.ReadPackedUInt32(); Complete = reader.ReadBoolean(); }