public static ProjectileShoot Deserialize(Stream stream, ProjectileShoot instance, bool isDelta) { if (!isDelta && instance.projectiles == null) { instance.projectiles = Pool.Get <List <ProjectileShoot.Projectile> >(); } while (true) { int num = stream.ReadByte(); if (num == -1) { break; } if (num == 8) { instance.ammoType = (int)ProtocolParser.ReadUInt64(stream); } else if (num == 18) { instance.projectiles.Add(ProjectileShoot.Projectile.DeserializeLengthDelimited(stream)); } else { Key key = ProtocolParser.ReadKey((byte)num, stream); if (key.Field == 0) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } } return(instance); }
public static ProjectileShoot DeserializeLength(Stream stream, int length) { ProjectileShoot projectileShoot = Pool.Get <ProjectileShoot>(); ProjectileShoot.DeserializeLength(stream, length, projectileShoot, false); return(projectileShoot); }
public ProjectileShoot Copy() { ProjectileShoot projectileShoot = Pool.Get <ProjectileShoot>(); this.CopyTo(projectileShoot); return(projectileShoot); }
public static ProjectileShoot Deserialize(Stream stream) { ProjectileShoot projectileShoot = Pool.Get <ProjectileShoot>(); ProjectileShoot.Deserialize(stream, projectileShoot, false); return(projectileShoot); }
public static ProjectileShoot Deserialize(byte[] buffer, ProjectileShoot instance, bool isDelta = false) { using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProjectileShoot.Deserialize(memoryStream, instance, isDelta); } return(instance); }
public virtual void WriteToStreamDelta(Stream stream, ProjectileShoot previous) { if (previous == null) { ProjectileShoot.Serialize(stream, this); return; } ProjectileShoot.SerializeDelta(stream, this, previous); }
public static ProjectileShoot Deserialize(byte[] buffer) { ProjectileShoot projectileShoot = Pool.Get <ProjectileShoot>(); using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProjectileShoot.Deserialize(memoryStream, projectileShoot, false); } return(projectileShoot); }
public static byte[] SerializeToBytes(ProjectileShoot instance) { byte[] array; using (MemoryStream memoryStream = new MemoryStream()) { ProjectileShoot.Serialize(memoryStream, instance); array = memoryStream.ToArray(); } return(array); }
public static void Serialize(Stream stream, ProjectileShoot instance) { MemoryStream memoryStream = Pool.Get <MemoryStream>(); stream.WriteByte(8); ProtocolParser.WriteUInt64(stream, (ulong)instance.ammoType); if (instance.projectiles != null) { for (int i = 0; i < instance.projectiles.Count; i++) { ProjectileShoot.Projectile item = instance.projectiles[i]; stream.WriteByte(18); memoryStream.SetLength((long)0); ProjectileShoot.Projectile.Serialize(memoryStream, item); uint length = (uint)memoryStream.Length; ProtocolParser.WriteUInt32(stream, length); stream.Write(memoryStream.GetBuffer(), 0, (int)length); } } Pool.FreeMemoryStream(ref memoryStream); }
public static void ResetToPool(ProjectileShoot instance) { if (!instance.ShouldPool) { return; } instance.ammoType = 0; if (instance.projectiles != null) { for (int i = 0; i < instance.projectiles.Count; i++) { if (instance.projectiles[i] != null) { instance.projectiles[i].ResetToPool(); instance.projectiles[i] = null; } } List <ProjectileShoot.Projectile> projectiles = instance.projectiles; Pool.FreeList <ProjectileShoot.Projectile>(ref projectiles); instance.projectiles = projectiles; } Pool.Free <ProjectileShoot>(ref instance); }
public void ToProto(Stream stream) { ProjectileShoot.Serialize(stream, this); }
public virtual void WriteToStream(Stream stream) { ProjectileShoot.Serialize(stream, this); }
public void CopyTo(ProjectileShoot instance) { instance.ammoType = this.ammoType; throw new NotImplementedException(); }
public byte[] ToProtoBytes() { return(ProjectileShoot.SerializeToBytes(this)); }
public void FromProto(Stream stream, bool isDelta = false) { ProjectileShoot.Deserialize(stream, this, isDelta); }
public static void SerializeLengthDelimited(Stream stream, ProjectileShoot instance) { byte[] bytes = ProjectileShoot.SerializeToBytes(instance); ProtocolParser.WriteUInt32(stream, (uint)bytes.Length); stream.Write(bytes, 0, (int)bytes.Length); }
public void ResetToPool() { ProjectileShoot.ResetToPool(this); }
public virtual void ReadFromStream(Stream stream, int size, bool isDelta = false) { ProjectileShoot.DeserializeLength(stream, size, this, isDelta); }