public override byte[] Serialize() { List <byte> s = new List <byte>(); // serialize Id s.Add((byte)((Id == null) ? 0 : 1)); if (Id != null) { s.AddRange(BitConverter.GetBytes((int)Id)); } // serialize Position s.Add((byte)((Position == null) ? 0 : 1)); if (Position != null) { s.AddRange(Position.Serialize()); } // serialize PlantingRemainingTime s.Add((byte)((PlantingRemainingTime == null) ? 0 : 1)); if (PlantingRemainingTime != null) { s.AddRange(BitConverter.GetBytes((int)PlantingRemainingTime)); } // serialize FootstepSounds s.Add((byte)((FootstepSounds == null) ? 0 : 1)); if (FootstepSounds != null) { List <byte> tmp33 = new List <byte>(); tmp33.AddRange(BitConverter.GetBytes((uint)FootstepSounds.Count())); while (tmp33.Count > 0 && tmp33.Last() == 0) { tmp33.RemoveAt(tmp33.Count - 1); } s.Add((byte)tmp33.Count); s.AddRange(tmp33); foreach (var tmp34 in FootstepSounds) { s.Add((byte)((tmp34 == null) ? 0 : 1)); if (tmp34 != null) { s.Add((byte)((sbyte)tmp34)); } } } // serialize Status s.Add((byte)((Status == null) ? 0 : 1)); if (Status != null) { s.Add((byte)((sbyte)Status)); } return(s.ToArray()); }
public override byte[] Serialize() { List <byte> s = new List <byte>(); // serialize Id s.Add((byte)((Id == null) ? 0 : 1)); if (Id != null) { s.AddRange(BitConverter.GetBytes((int)Id)); } // serialize Position s.Add((byte)((Position == null) ? 0 : 1)); if (Position != null) { s.AddRange(Position.Serialize()); } // serialize DefusionRemainingTime s.Add((byte)((DefusionRemainingTime == null) ? 0 : 1)); if (DefusionRemainingTime != null) { s.AddRange(BitConverter.GetBytes((int)DefusionRemainingTime)); } // serialize FootstepSounds s.Add((byte)((FootstepSounds == null) ? 0 : 1)); if (FootstepSounds != null) { List <byte> tmp48 = new List <byte>(); tmp48.AddRange(BitConverter.GetBytes((uint)FootstepSounds.Count())); while (tmp48.Count > 0 && tmp48.Last() == 0) { tmp48.RemoveAt(tmp48.Count - 1); } s.Add((byte)tmp48.Count); s.AddRange(tmp48); foreach (var tmp49 in FootstepSounds) { s.Add((byte)((tmp49 == null) ? 0 : 1)); if (tmp49 != null) { s.Add((byte)((sbyte)tmp49)); } } } // serialize BombSounds s.Add((byte)((BombSounds == null) ? 0 : 1)); if (BombSounds != null) { List <byte> tmp50 = new List <byte>(); tmp50.AddRange(BitConverter.GetBytes((uint)BombSounds.Count())); while (tmp50.Count > 0 && tmp50.Last() == 0) { tmp50.RemoveAt(tmp50.Count - 1); } s.Add((byte)tmp50.Count); s.AddRange(tmp50); foreach (var tmp51 in BombSounds) { s.Add((byte)((tmp51 == null) ? 0 : 1)); if (tmp51 != null) { s.Add((byte)((sbyte)tmp51)); } } } // serialize Status s.Add((byte)((Status == null) ? 0 : 1)); if (Status != null) { s.Add((byte)((sbyte)Status)); } return(s.ToArray()); }