void ReadUnits (byte[] data) { units = new List<UnitInfo> (); MemoryStream stream = new MemoryStream (data); Console.WriteLine ("unit section data = {0} bytes long", data.Length); int i = 0; while (i <= data.Length / 36) { /*uint serial =*/ Util.ReadDWord (stream); ushort x = Util.ReadWord (stream); ushort y = Util.ReadWord (stream); ushort type = Util.ReadWord (stream); Util.ReadWord (stream); Util.ReadWord (stream); Util.ReadWord (stream); byte player = Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadDWord (stream); Util.ReadWord (stream); Util.ReadWord (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); Util.ReadByte (stream); i++; UnitInfo info = new UnitInfo (); info.unit_id = type; info.x = x; info.y = y; info.player = player; units.Add (info); } }
public Unit (UnitInfo info) : this (info.unit_id) { x = info.x; y = info.y; }