public void ModelManagerTestReplication() { IWorldData worldData = new WorldData(); ISerializer serializer = new JsonNetSerializer(); var replication = new WorldReplication(worldData, new JsonCastObject()); var replicationWrote = replication.WriteWhole(); var serialized = serializer.Serialize(replicationWrote); serializer.Deserialize(serialized, out object deserialized); replication.Read(deserialized); }
private void CreateSnapshotToClients() { object whole = null; object diff = null; foreach (var clientProxy in _clientProxyDic.Values) { if (clientProxy.IsFirstWhole) { whole ??= _worldReplication.WriteWhole(); clientProxy.IsFirstWhole = false; clientProxy.NotSentToClientPacket.MutablePacketDic[DataType.State].Fill(whole); } else { diff ??= _worldReplication.WriteDiff(); clientProxy.NotSentToClientPacket.MutablePacketDic[DataType.State].Fill(diff); } } }