public void SerializeAreAddedWhenEmptyInStruct() { NetworkWriter writer = new NetworkWriter(); const int someValue = 3; writer.Write(new SomeStructMessage { someValue = someValue, }); byte[] arr = writer.ToArray(); NetworkReader reader = new NetworkReader(arr); SomeStructMessage received = reader.Read <SomeStructMessage>(); Assert.AreEqual(someValue, received.someValue); int writeLength = writer.Length; int readLength = reader.Position; Assert.That(writeLength == readLength, $"OnSerializeAll and OnDeserializeAll calls write the same amount of data\n writeLength={writeLength}\n readLength={readLength}"); }
public void SendsVauesInParentAndChildClass() { var writer = new NetworkWriter(); writer.Write(new ChildMessage { parentValue = 3, childValue = 4 }); byte[] arr = writer.ToArray(); var reader = new NetworkReader(arr); ChildMessage received = reader.Read <ChildMessage>(); Assert.AreEqual(3, received.parentValue); Assert.AreEqual(4, received.childValue); int writeLength = writer.Length; int readLength = reader.Position; Assert.That(writeLength == readLength, $"OnSerializeAll and OnDeserializeAll calls write the same amount of data\n writeLength={writeLength}\n readLength={readLength}"); }
public static Skill ReadItem(this NetworkReader reader) { byte type = reader.ReadByte(); switch (type) { case BASICATTACK: return(new BasicAttack { damage = reader.ReadInt32(), name = reader.ReadString(), description = reader.ReadString() }); case BASICHEAL: return(new BasicHeal { heal = reader.ReadInt32(), name = reader.ReadString(), description = reader.ReadString() }); case BASICFIREBALL: return(new Fireball { effect = reader.Read <Effect>(), fireDamage = reader.ReadInt32(), damage = reader.ReadInt32(), name = reader.ReadString(), description = reader.ReadString() }); default: throw new Exception($"Invalid weapon type {type}"); } }
public void AuthRequestMessageTest() { // try setting value with constructor var message = new AuthRequestMessage { serverCode = "abc", }; Assert.That(message.serverCode, Is.EqualTo("abc")); // serialize var writer = new NetworkWriter(1300); writer.Write(message); // try deserialize var reader = new NetworkReader(); reader.Reset(writer.ToArraySegment()); AuthRequestMessage fresh = reader.Read <AuthRequestMessage>(); Assert.That(fresh.serverCode, Is.EqualTo("abc")); reader.Dispose(); }
/// <summary> /// call the base method when overriding /// <para/> /// note: no constructor is called before this, /// so fields won't be initialized. /// </summary> public virtual void Deserialize(NetworkReader reader) { From = reader.Read <uint>(); To = reader.Read <uint>(); }
public void Deserialize(NetworkReader br) { br.Read(out onGround); }
public void Deserialize(NetworkReader br) { br.Read(out chunkX); br.Read(out chunkZ); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); TargetId = reader.Read <uint>(); LocalDisturbancePos = reader.ReadVector3(); }
public void Deserialize(NetworkReader br) { br.Read(out targetPlayer, 16); }
public void CopyFromOtherWriterAligned() { otherWriter.Write(1, 8); otherWriter.Write(2, 8); otherWriter.Write(3, 8); otherWriter.Write(4, 8); otherWriter.Write(5, 8); writer.CopyFromWriter(otherWriter, 0, 5 * 8); var segment = writer.ToArraySegment(); reader.Reset(segment); Assert.That(reader.Read(8), Is.EqualTo(1)); Assert.That(reader.Read(8), Is.EqualTo(2)); Assert.That(reader.Read(8), Is.EqualTo(3)); Assert.That(reader.Read(8), Is.EqualTo(4)); Assert.That(reader.Read(8), Is.EqualTo(5)); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); MeteorId = reader.Read <int>(); LaunchSpeed = reader.Read <float>(); }
public void Deserialize(NetworkReader br) { br.Read(out worldAge); br.Read(out timeOfDay); }
public void Deserialize(NetworkReader br) { br.Read(out experienceBar); br.ReadVarInt(out level); br.ReadVarInt(out totalExperience); }
public void Deserialize(NetworkReader br) { br.ReadVarInt(out entityID); br.Read(out animation); }
public void Deserialize(NetworkReader br) { br.Read(out payload); }
public void Deserialize(NetworkReader br) { br.Read(out windowID); br.Read(out property); br.Read(out value); }
public void Deserialize(NetworkReader reader) { this.serializer = OrbSerializerCatalog.GetDef(reader.ReadBits <OrbSerializerCatalog.Index>()) !; this.orb = this.serializer.CreateInstance(); reader.Read(ref this.orb, this.serializer); }
public void Deserialize(NetworkReader br) { br.Read(out health); br.ReadVarInt(out food); br.Read(out foodSaturation); }
public void Deserialize(NetworkReader br) { br.Read(out entityID); br.Read(out entityStatus); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); Id = reader.Read <int>(); Message = reader.ReadString(); }
public void Deserialize(NetworkReader reader) { _pingType = PingCatalog.Get(reader.ReadInt32()); _pingData = reader.Read <PingCatalog.PingData>(); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); PlayerId = reader.Read <uint>(); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); Active = reader.Read <bool>(); Angle = reader.Read <float>(); }
public void Deserialize(NetworkReader br) { br.Read(out matches); }
public void Deserialize(NetworkReader br) { br.ReadVarInt(out entityID); br.Read(out objectUUID); br.Read(out type); br.Read(out x); br.Read(out y); br.Read(out z); br.Read(out yaw); br.Read(out pitch); br.Read(out data); br.Read(out velocityX); br.Read(out velocityY); br.Read(out velocityZ); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); ServerTime = reader.Read <float>(); LoopCount = reader.Read <int>(); }
public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); ObjectId = reader.Read <int>(); }
public void Deserialize(NetworkReader br) { br.Read(out windowID); br.Read(out count); }
protected override void Deserialize(NetworkReader reader) => Value = reader.Read <T>();
public T ReadMessage <T>() where T : Message, new() { return(reader.Read <T>()); }