public static ConcurrentDictionary <int, ConcurrentDictionary <byte, float?> > ReadNullableFloatFieldDictionary(this ITypeReader serializer)
        {
            var result = new ConcurrentDictionary <int, ConcurrentDictionary <byte, float?> >();

            try
            {
                var cnt = serializer.ReadInt();
                for (int i = 0; i < cnt; i++)
                {
                    var key    = serializer.ReadInt();
                    var val    = new ConcurrentDictionary <byte, float?>();
                    var subCnt = serializer.ReadInt();
                    for (int j = 0; j < subCnt; j++)
                    {
                        var subKey   = serializer.ReadByte();
                        var subValue = serializer.ReadNullableFloat();
                        val.TryAdd(subKey, subValue);
                    }
                    result.TryAdd(key, val);
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Error serializing ConcurrentDictionary<int, ConcurrentDictionary<ChangeFieldIndexes, float?>>: {e}");
            }

            return(result);
        }
 protected override void DeserializeRequestBody(ITypeReader typeReader)
 {
     RoomId             = typeReader.ReadGuid();
     CurrentPlayerCount = typeReader.ReadInt();
     State = (RoomState)typeReader.ReadByte();
     MaxMatchMakingWeight = typeReader.ReadInt();
 }
Beispiel #3
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     RoomId         = typeReader.ReadGuid();
     MaxPlayers     = typeReader.ReadInt();
     CurrentPlayers = typeReader.ReadInt();
     RoomProperties = typeReader.ReadDictionary <byte>(typeReader.ReadByte);
     State          = (RoomState)typeReader.ReadByte();
 }
Beispiel #4
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     ServerIpAddress = typeReader.ReadString();
     ServerPort      = typeReader.ReadUShort();
     RoomId          = typeReader.ReadGuid();
     Status          = (JoinStatus)typeReader.ReadByte();
     CurrentPlayers  = typeReader.ReadInt();
     MaxPlayers      = typeReader.ReadInt();
     JoinToExisting  = typeReader.ReadBool();
 }
        public static List <int> ReadListOfInt(this ITypeReader reader)
        {
            var list       = new List <int>();
            var listLength = reader.ReadInt();

            if (listLength != 0)
            {
                for (int i = 0; i < listLength; i++)
                {
                    list.Add(reader.ReadInt());
                }
            }

            return(list);
        }
        public static EntityDictionary <T> ReadEntityDictionary <T>(this ITypeReader typeReader)
            where T : EntityBase, new()
        {
            var result = new EntityDictionary <T>();

            try
            {
                var length = typeReader.ReadInt();

                if (length != 0)
                {
                    for (int i = 0; i < length; i++)
                    {
                        var item = new T();
                        item.Deserialize(typeReader);
                        result.Add(item);
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Error deserializing EntityDictionary<{typeof(T)}>: {e}");
            }


            return(result);
        }
Beispiel #7
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     TestList  = typeReader.ReadListOfInt();
     TestBool  = typeReader.ReadBool();
     TestInt   = typeReader.ReadInt();
     TestFloat = typeReader.ReadFloat();
 }
 protected override void DeserializeRequestBody(ITypeReader typeReader)
 {
     ServerIdentity = typeReader.Read <ServerIdentity>();
     Name           = typeReader.ReadString();
     Region         = typeReader.ReadString();
     PeersCount     = typeReader.ReadInt();
     HttpPort       = typeReader.ReadUShort();
     HttpsPort      = typeReader.ReadUShort();
 }
Beispiel #9
0
        public static int?ReadNullableInt(this ITypeReader typeReader)
        {
            var notIsNull = typeReader.ReadBool();

            if (notIsNull)
            {
                return(typeReader.ReadInt());
            }

            return(null);
        }
Beispiel #10
0
        protected override void DeserializeRequestBody(ITypeReader typeReader)
        {
            RoomId  = typeReader.ReadGuid();
            Players = new Dictionary <Guid, Dictionary <byte, object> >();
            var count = typeReader.ReadInt();

            for (var i = 0; i < count; i++)
            {
                var key = typeReader.ReadGuid();
                var val = typeReader.ReadDictionary(typeReader.ReadByte);
                Players.Add(key, val);
            }
        }
        public void Deserialize(ITypeReader typeReader)
        {
            this.ServerRole = (ServerRole)typeReader.ReadByte();
            this.Address    = typeReader.ReadString();
            var count = typeReader.ReadInt();

            this.Ports = new List <ushort>();
            for (var i = 0; i < count; i++)
            {
                this.Ports.Add(typeReader.ReadUShort());
            }
            PortsString = typeReader.ReadString();
        }
Beispiel #12
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     Address       = typeReader.ReadString();
     Ports         = typeReader.ReadString();
     ServerRole    = (ServerRole)typeReader.ReadByte();
     Name          = typeReader.ReadString();
     Region        = typeReader.ReadString();
     ClientVersion = typeReader.ReadString();
     ActualizedOn  = typeReader.ReadNullableDate();
     IsApproved    = typeReader.ReadBool();
     PeerCount     = typeReader.ReadInt();
     HttpPort      = typeReader.ReadUShort();
     HttpsPort     = typeReader.ReadUShort();
 }
        public static HashSet <int> ReadIntHashSet(this ITypeReader typeReader)
        {
            var result = new HashSet <int>();

            try
            {
                var length = typeReader.ReadInt();

                if (length != 0)
                {
                    for (int i = 0; i < length; i++)
                    {
                        result.Add(typeReader.ReadInt());
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Error deserializing HashSet<int>: {e}");
            }

            return(result);
        }
Beispiel #14
0
        public static Dictionary <TKey, object> ReadDictionary <TKey>(this ITypeReader reader, Func <TKey> readKey)
        {
            var count = reader.ReadInt();
            var res   = new Dictionary <TKey, object>();

            for (int i = 0; i < count; i++)
            {
                var key   = readKey();
                var type  = SwitchValueToType[reader.ReadByte()];
                var value = SwitchRead[type](reader);
                res.Add(key, value);
            }

            return(res);
        }
        public static List <T> ReadList <T>(this ITypeReader reader)
            where T : ISerializable, new()
        {
            var result = new List <T>();

            var length = reader.ReadInt();

            if (length != 0)
            {
                for (var i = 0; i < length; i++)
                {
                    var item = new T();
                    item.Deserialize(reader);
                    result.Add(item);
                }
            }

            return(result);
        }
Beispiel #16
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     InsertedItems = typeReader.ReadList <T>();
     Revision      = typeReader.ReadInt();
 }
Beispiel #17
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     ChangeId = typeReader.ReadInt();
 }
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     InsertedInfoList = typeReader.ReadList <InsertedInfo <T> >();
     ChangeId         = typeReader.ReadInt();
 }
 public void Deserialize(ITypeReader typeReader)
 {
     Id = typeReader.ReadInt();
     DeserializeBody(typeReader);
 }
 protected override void DeserializeResponseBody(ITypeReader typeReader)
 {
     Records  = typeReader.ReadList <T>();
     Revision = typeReader.ReadInt();
 }
Beispiel #21
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     ChangeSet = typeReader.ReadEntity <ChangeSet>();
     Revision  = typeReader.ReadInt();
 }
Beispiel #22
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     UpdatedInfoList = typeReader.ReadList <UpdatedInfo>();
     ChangeId        = typeReader.ReadInt();
 }
Beispiel #23
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     PropertyCode = typeReader.ReadByte();
     ExactValue   = typeReader.ReadInt();
 }
 public void Deserialize(ITypeReader typeReader)
 {
     Data1 = typeReader.ReadString();
     Data2 = typeReader.ReadInt();
 }
 protected override void DeserializeRequestBody(ITypeReader typeReader)
 {
     MatchMakingProperties = typeReader.ReadDictionary <byte>(typeReader.ReadByte);
     MatchMakingWeight     = typeReader.ReadInt();
 }
Beispiel #26
0
 protected override void DeserializeBody(ITypeReader typeReader)
 {
     DeletedItems = typeReader.ReadIntHashSet();
     Revision     = typeReader.ReadInt();
 }