public void CopyTo(ProjectileShoot.Projectile instance) { instance.projectileID = this.projectileID; instance.startPos = this.startPos; instance.startVel = this.startVel; instance.seed = this.seed; }
public static void SerializeDelta(Stream stream, ProjectileShoot.Projectile instance, ProjectileShoot.Projectile previous) { MemoryStream memoryStream = Pool.Get <MemoryStream>(); if (instance.projectileID != previous.projectileID) { stream.WriteByte(8); ProtocolParser.WriteUInt64(stream, (ulong)instance.projectileID); } if (instance.startPos != previous.startPos) { stream.WriteByte(18); memoryStream.SetLength((long)0); Vector3Serialized.SerializeDelta(memoryStream, instance.startPos, previous.startPos); uint length = (uint)memoryStream.Length; ProtocolParser.WriteUInt32(stream, length); stream.Write(memoryStream.GetBuffer(), 0, (int)length); } if (instance.startVel != previous.startVel) { stream.WriteByte(26); memoryStream.SetLength((long)0); Vector3Serialized.SerializeDelta(memoryStream, instance.startVel, previous.startVel); uint num = (uint)memoryStream.Length; ProtocolParser.WriteUInt32(stream, num); stream.Write(memoryStream.GetBuffer(), 0, (int)num); } if (instance.seed != previous.seed) { stream.WriteByte(32); ProtocolParser.WriteUInt64(stream, (ulong)instance.seed); } Pool.FreeMemoryStream(ref memoryStream); }
public static ProjectileShoot.Projectile Deserialize(byte[] buffer, ProjectileShoot.Projectile instance, bool isDelta = false) { using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProjectileShoot.Projectile.Deserialize(memoryStream, instance, isDelta); } return(instance); }
public virtual void WriteToStreamDelta(Stream stream, ProjectileShoot.Projectile previous) { if (previous == null) { ProjectileShoot.Projectile.Serialize(stream, this); return; } ProjectileShoot.Projectile.SerializeDelta(stream, this, previous); }
public static ProjectileShoot.Projectile Deserialize(byte[] buffer) { ProjectileShoot.Projectile projectile = Pool.Get <ProjectileShoot.Projectile>(); using (MemoryStream memoryStream = new MemoryStream(buffer)) { ProjectileShoot.Projectile.Deserialize(memoryStream, projectile, false); } return(projectile); }
public static byte[] SerializeToBytes(ProjectileShoot.Projectile instance) { byte[] array; using (MemoryStream memoryStream = new MemoryStream()) { ProjectileShoot.Projectile.Serialize(memoryStream, instance); array = memoryStream.ToArray(); } return(array); }
public void AddShootTick(ProtoBuf.ProjectileShoot.Projectile firedProjectile, BaseProjectile projectile, ProtoBuf.ProjectileShoot.Projectile bullet) { ShootTick tick = new ShootTick(); tick.tickFired = currentTick; tick.timeDelta = Time.realtimeSinceStartup - timeLastShotFired; tick.projectile = projectile; timeLastShotFired = Time.realtimeSinceStartup; tick.bullet = bullet; shootTicks.Add(firedProjectile.projectileID, tick); }
public static void ResetToPool(ProjectileShoot.Projectile instance) { if (!instance.ShouldPool) { return; } instance.projectileID = 0; instance.startPos = new Vector3(); instance.startVel = new Vector3(); instance.seed = 0; Pool.Free <ProjectileShoot.Projectile>(ref instance); }
public static ProjectileShoot.Projectile Deserialize(Stream stream, ProjectileShoot.Projectile instance, bool isDelta) { while (true) { int num = stream.ReadByte(); if (num == -1) { break; } if (num <= 18) { if (num == 8) { instance.projectileID = (int)ProtocolParser.ReadUInt64(stream); continue; } else if (num == 18) { Vector3Serialized.DeserializeLengthDelimited(stream, ref instance.startPos, isDelta); continue; } } else if (num == 26) { Vector3Serialized.DeserializeLengthDelimited(stream, ref instance.startVel, isDelta); continue; } else if (num == 32) { instance.seed = (int)ProtocolParser.ReadUInt64(stream); continue; } 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 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 SerializeLengthDelimited(Stream stream, ProjectileShoot.Projectile instance) { byte[] bytes = ProjectileShoot.Projectile.SerializeToBytes(instance); ProtocolParser.WriteUInt32(stream, (uint)bytes.Length); stream.Write(bytes, 0, (int)bytes.Length); }
public static ProjectileShoot.Projectile DeserializeLengthDelimited(Stream stream) { ProjectileShoot.Projectile projectile = Pool.Get <ProjectileShoot.Projectile>(); ProjectileShoot.Projectile.DeserializeLengthDelimited(stream, projectile, false); return(projectile); }
public static ProjectileShoot.Projectile DeserializeLength(Stream stream, int length) { ProjectileShoot.Projectile projectile = Pool.Get <ProjectileShoot.Projectile>(); ProjectileShoot.Projectile.DeserializeLength(stream, length, projectile, false); return(projectile); }
public ProjectileShoot.Projectile Copy() { ProjectileShoot.Projectile projectile = Pool.Get <ProjectileShoot.Projectile>(); this.CopyTo(projectile); return(projectile); }