Beispiel #1
0
        public static void Serialize(Stream stream, MemberAuthenticationResultView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                if (instance.AuthToken != null)
                {
                    StringProxy.Serialize(bytes, instance.AuthToken);
                }
                else
                {
                    mask |= 1;
                }

                BooleanProxy.Serialize(bytes, instance.IsAccountComplete);

                if (instance.LuckyDraw != null)
                {
                    LuckyDrawUnityViewProxy.Serialize(bytes, instance.LuckyDraw);
                }
                else
                {
                    mask |= 2;
                }

                EnumProxy <MemberAuthenticationResult> .Serialize(bytes, instance.MemberAuthenticationResult);

                if (instance.MemberView != null)
                {
                    MemberViewProxy.Serialize(bytes, instance.MemberView);
                }
                else
                {
                    mask |= 4;
                }
                if (instance.PlayerStatisticsView != null)
                {
                    PlayerStatisticsViewProxy.Serialize(bytes, instance.PlayerStatisticsView);
                }
                else
                {
                    mask |= 8;
                }

                DateTimeProxy.Serialize(bytes, instance.ServerTime);
                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
Beispiel #2
0
        public static UberStrikeItemGearView Deserialize(Stream bytes)
        {
            var mask = Int32Proxy.Deserialize(bytes);
            var view = new UberStrikeItemGearView();

            view.ArmorPoints = Int32Proxy.Deserialize(bytes);
            view.ArmorWeight = Int32Proxy.Deserialize(bytes);

            if ((mask & 1) != 0)
            {
                view.CustomProperties = DictionaryProxy <string, string> .Deserialize(bytes, StringProxy.Deserialize, StringProxy.Deserialize);
            }
            if ((mask & 2) != 0)
            {
                view.Description = StringProxy.Deserialize(bytes);
            }

            view.ID           = Int32Proxy.Deserialize(bytes);
            view.IsConsumable = BooleanProxy.Deserialize(bytes);
            view.ItemClass    = EnumProxy <UberStrikeItemClass> .Deserialize(bytes);

            if ((mask & 4) != 0)
            {
                view.ItemProperties = DictionaryProxy <ItemPropertyType, int> .Deserialize(bytes, EnumProxy <ItemPropertyType> .Deserialize, Int32Proxy.Deserialize);
            }

            view.LevelLock       = Int32Proxy.Deserialize(bytes);
            view.MaxDurationDays = Int32Proxy.Deserialize(bytes);

            if ((mask & 8) != 0)
            {
                view.Name = StringProxy.Deserialize(bytes);
            }
            if ((mask & 16) != 0)
            {
                view.PrefabName = StringProxy.Deserialize(bytes);
            }
            if ((mask & 32) != 0)
            {
                view.Prices = ListProxy <ItemPriceView> .Deserialize(bytes, ItemPriceViewProxy.Deserialize);
            }

            view.ShopHighlightType = EnumProxy <ItemShopHighlightType> .Deserialize(bytes);

            return(view);
        }
Beispiel #3
0
        // Token: 0x060011F0 RID: 4592 RVA: 0x0001DB8C File Offset: 0x0001BD8C
        public static Coroutine IsDuplicateMemberName(string username, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, username);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IUserWebServiceContract", "UserWebService", "IsDuplicateMemberName", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #4
0
        // Token: 0x060011C3 RID: 4547 RVA: 0x0001D5C0 File Offset: 0x0001B7C0
        public static Coroutine VerifyReceipt(string hashedReceipt, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, hashedReceipt);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "VerifyReceipt", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #5
0
        public static void Serialize(Stream stream, AuthenticateApplicationView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                if (instance.CommServer != null)
                {
                    PhotonViewProxy.Serialize(bytes, instance.CommServer);
                }
                else
                {
                    mask |= 1;
                }
                if (instance.EncryptionInitVector != null)
                {
                    StringProxy.Serialize(bytes, instance.EncryptionInitVector);
                }
                else
                {
                    mask |= 2;
                }
                if (instance.EncryptionPassPhrase != null)
                {
                    StringProxy.Serialize(bytes, instance.EncryptionPassPhrase);
                }
                else
                {
                    mask |= 4;
                }
                if (instance.GameServers != null)
                {
                    ListProxy <PhotonView> .Serialize(bytes, instance.GameServers, PhotonViewProxy.Serialize);
                }
                else
                {
                    mask |= 8;
                }

                BooleanProxy.Serialize(bytes, instance.IsEnabled);
                BooleanProxy.Serialize(bytes, instance.WarnPlayer);
                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
        // Token: 0x060011AF RID: 4527 RVA: 0x0001D12C File Offset: 0x0001B32C
        public static Coroutine GetContactsByGroups(string authToken, bool populateFacebookIds, Action <List <ContactGroupView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                BooleanProxy.Serialize(memoryStream, populateFacebookIds);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IRelationshipWebServiceContract", "RelationshipWebService", "GetContactsByGroups", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <ContactGroupView> .Deserialize(new MemoryStream(data), new ListProxy <ContactGroupView> .Deserializer <ContactGroupView>(ContactGroupViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #7
0
 // Token: 0x060012D6 RID: 4822 RVA: 0x00020AE8 File Offset: 0x0001ECE8
 public void SendIsInSniperMode(bool on)
 {
     using (MemoryStream memoryStream = new MemoryStream())
     {
         BooleanProxy.Serialize(memoryStream, on);
         Dictionary <byte, object> customOpParameters = new Dictionary <byte, object>
         {
             {
                 this.__id,
                 memoryStream.ToArray()
             }
         };
         if (this.sendOperation != null)
         {
             this.sendOperation(19, customOpParameters, true, 0, false);
         }
     }
 }
Beispiel #8
0
        // Token: 0x0600118B RID: 4491 RVA: 0x0001C9A0 File Offset: 0x0001ABA0
        public static Coroutine CheckFacebookSession(string cmuneAuthToken, string facebookIDString, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, cmuneAuthToken);
                StringProxy.Serialize(memoryStream, facebookIDString);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IFacebookWebServiceContract", "FacebookWebService", "CheckFacebookSession", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #9
0
        // Token: 0x060011C4 RID: 4548 RVA: 0x0001D644 File Offset: 0x0001B844
        public static Coroutine UseConsumableItem(string authToken, int itemId, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                Int32Proxy.Serialize(memoryStream, itemId);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "UseConsumableItem", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
        // Token: 0x06001195 RID: 4501 RVA: 0x0001CAB8 File Offset: 0x0001ACB8
        public static Coroutine BanPermanently(string authToken, int targetCmid, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                Int32Proxy.Serialize(memoryStream, targetCmid);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IModerationWebServiceContract", "ModerationWebService", "BanPermanently", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #11
0
        public static void Serialize(Stream stream, PublicProfileView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                EnumProxy <MemberAccessLevel> .Serialize(bytes, instance.AccessLevel);

                Int32Proxy.Serialize(bytes, instance.Cmid);
                EnumProxy <EmailAddressStatus> .Serialize(bytes, instance.EmailAddressStatus);

                if (instance.FacebookId != null)
                {
                    StringProxy.Serialize(bytes, instance.FacebookId);
                }
                else
                {
                    mask |= 1;
                }
                if (instance.GroupTag != null)
                {
                    StringProxy.Serialize(bytes, instance.GroupTag);
                }
                else
                {
                    mask |= 2;
                }

                BooleanProxy.Serialize(bytes, instance.IsChatDisabled);
                DateTimeProxy.Serialize(bytes, instance.LastLoginDate);

                if (instance.Name != null)
                {
                    StringProxy.Serialize(bytes, instance.Name);
                }
                else
                {
                    mask |= 4;
                }

                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
Beispiel #12
0
 // Token: 0x060012DD RID: 4829 RVA: 0x00020E74 File Offset: 0x0001F074
 public void SendRemoveProjectile(int projectileId, bool explode)
 {
     using (MemoryStream memoryStream = new MemoryStream())
     {
         Int32Proxy.Serialize(memoryStream, projectileId);
         BooleanProxy.Serialize(memoryStream, explode);
         Dictionary <byte, object> customOpParameters = new Dictionary <byte, object>
         {
             {
                 this.__id,
                 memoryStream.ToArray()
             }
         };
         if (this.sendOperation != null)
         {
             this.sendOperation(26, customOpParameters, true, 0, false);
         }
     }
 }
 // Token: 0x0600126A RID: 4714 RVA: 0x0001EC78 File Offset: 0x0001CE78
 public void SendModerationMutePlayer(int durationInMinutes, int mutedCmid, bool disableChat)
 {
     using (MemoryStream memoryStream = new MemoryStream())
     {
         Int32Proxy.Serialize(memoryStream, durationInMinutes);
         Int32Proxy.Serialize(memoryStream, mutedCmid);
         BooleanProxy.Serialize(memoryStream, disableChat);
         Dictionary <byte, object> customOpParameters = new Dictionary <byte, object>
         {
             {
                 this.__id,
                 memoryStream.ToArray()
             }
         };
         if (this.sendOperation != null)
         {
             this.sendOperation(13, customOpParameters, true, 0, false);
         }
     }
 }
Beispiel #14
0
        // Token: 0x060011C0 RID: 4544 RVA: 0x0001D414 File Offset: 0x0001B614
        public static Coroutine BuyBundle(string authToken, int bundleId, ChannelType channel, string hashedReceipt, Action <bool> callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                Int32Proxy.Serialize(memoryStream, bundleId);
                EnumProxy <ChannelType> .Serialize(memoryStream, channel);

                StringProxy.Serialize(memoryStream, hashedReceipt);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "BuyBundle", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(BooleanProxy.Deserialize(new MemoryStream(data)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #15
0
 // Token: 0x060012DB RID: 4827 RVA: 0x00020D4C File Offset: 0x0001EF4C
 public void SendEmitProjectile(Vector3 origin, Vector3 direction, byte slot, int projectileID, bool explode)
 {
     using (MemoryStream memoryStream = new MemoryStream())
     {
         Vector3Proxy.Serialize(memoryStream, origin);
         Vector3Proxy.Serialize(memoryStream, direction);
         ByteProxy.Serialize(memoryStream, slot);
         Int32Proxy.Serialize(memoryStream, projectileID);
         BooleanProxy.Serialize(memoryStream, explode);
         Dictionary <byte, object> customOpParameters = new Dictionary <byte, object>
         {
             {
                 this.__id,
                 memoryStream.ToArray()
             }
         };
         if (this.sendOperation != null)
         {
             this.sendOperation(24, customOpParameters, true, 0, false);
         }
     }
 }
Beispiel #16
0
        // Token: 0x060012DF RID: 4831 RVA: 0x00020F6C File Offset: 0x0001F16C
        public void SendActivateQuickItem(QuickItemLogic logic, int robotLifeTime, int scrapsLifeTime, bool isInstant)
        {
            using (MemoryStream memoryStream = new MemoryStream())
            {
                EnumProxy <QuickItemLogic> .Serialize(memoryStream, logic);

                Int32Proxy.Serialize(memoryStream, robotLifeTime);
                Int32Proxy.Serialize(memoryStream, scrapsLifeTime);
                BooleanProxy.Serialize(memoryStream, isInstant);
                Dictionary <byte, object> customOpParameters = new Dictionary <byte, object>
                {
                    {
                        this.__id,
                        memoryStream.ToArray()
                    }
                };
                if (this.sendOperation != null)
                {
                    this.sendOperation(28, customOpParameters, true, 0, false);
                }
            }
        }
        byte[] IUserWebServiceContract.IsDuplicateMemberName(byte[] data)
        {
            try
            {
                using (var bytes = new MemoryStream(data))
                {
                    var username = StringProxy.Deserialize(bytes);

                    var result = OnIsDuplicateMemberName(username);
                    using (var outBytes = new MemoryStream())
                    {
                        BooleanProxy.Serialize(outBytes, result);
                        return(outBytes.ToArray());
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error("Unable to handle IsDuplicateMemberName request:");
                Log.Error(ex);
                return(null);
            }
        }
        public static GameRoomDataView Deserialize(Stream bytes)
        {
            int mask = Int32Proxy.Deserialize(bytes);
            var view = new GameRoomDataView();

            view.ConnectedPlayers = Int32Proxy.Deserialize(bytes);
            view.GameFlags        = Int32Proxy.Deserialize(bytes);
            view.GameMode         = EnumProxy <GameModeType> .Deserialize(bytes);

            if ((mask & 1) != 0)
            {
                view.Guid = StringProxy.Deserialize(bytes);
            }

            view.IsPasswordProtected = BooleanProxy.Deserialize(bytes);
            view.IsPermanentGame     = BooleanProxy.Deserialize(bytes);
            view.KillLimit           = Int32Proxy.Deserialize(bytes);
            view.LevelMax            = ByteProxy.Deserialize(bytes);
            view.LevelMin            = ByteProxy.Deserialize(bytes);
            view.MapID = Int32Proxy.Deserialize(bytes);

            if ((mask & 2) != 0)
            {
                view.Name = StringProxy.Deserialize(bytes);
            }

            view.Number      = Int32Proxy.Deserialize(bytes);
            view.PlayerLimit = Int32Proxy.Deserialize(bytes);

            if ((mask & 4) != 0)
            {
                view.Server = ConnectionAddressViewProxy.Deserialize(bytes);
            }

            view.TimeLimit = Int32Proxy.Deserialize(bytes);
            return(view);
        }
        public static void Serialize(Stream stream, LuckyDrawSetUnityView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                Int32Proxy.Serialize(bytes, instance.CreditsAttributed);
                BooleanProxy.Serialize(bytes, instance.ExposeItemsToPlayers);
                Int32Proxy.Serialize(bytes, instance.Id);

                if (instance.ImageUrl != null)
                {
                    StringProxy.Serialize(bytes, instance.ImageUrl);
                }
                else
                {
                    mask |= 1;
                }

                Int32Proxy.Serialize(bytes, instance.LuckyDrawId);

                if (instance.LuckyDrawSetItems != null)
                {
                    ListProxy <BundleItemView> .Serialize(bytes, instance.LuckyDrawSetItems, BundleItemViewProxy.Serialize);
                }
                else
                {
                    mask |= 2;
                }

                Int32Proxy.Serialize(bytes, instance.PointsAttributed);
                Int32Proxy.Serialize(bytes, instance.SetWeight);
                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
        public static void Serialize(Stream stream, UberStrikeItemQuickView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                EnumProxy <QuickItemLogic> .Serialize(bytes, instance.BehaviourType);

                Int32Proxy.Serialize(bytes, instance.CoolDownTime);

                if (instance.CustomProperties != null)
                {
                    DictionaryProxy <string, string> .Serialize(bytes, instance.CustomProperties, StringProxy.Serialize, StringProxy.Serialize);
                }
                else
                {
                    mask |= 1;
                }
                if (instance.Description != null)
                {
                    StringProxy.Serialize(bytes, instance.Description);
                }
                else
                {
                    mask |= 2;
                }

                Int32Proxy.Serialize(bytes, instance.ID);
                BooleanProxy.Serialize(bytes, instance.IsConsumable);
                EnumProxy <UberStrikeItemClass> .Serialize(bytes, instance.ItemClass);

                if (instance.ItemProperties != null)
                {
                    DictionaryProxy <ItemPropertyType, int> .Serialize(bytes, instance.ItemProperties, EnumProxy <ItemPropertyType> .Serialize, Int32Proxy.Serialize);
                }
                else
                {
                    mask |= 4;
                }

                Int32Proxy.Serialize(bytes, instance.LevelLock);
                Int32Proxy.Serialize(bytes, instance.MaxDurationDays);
                Int32Proxy.Serialize(bytes, instance.MaxOwnableAmount);

                if (instance.Name != null)
                {
                    StringProxy.Serialize(bytes, instance.Name);
                }
                else
                {
                    mask |= 8;
                }
                if (instance.PrefabName != null)
                {
                    StringProxy.Serialize(bytes, instance.PrefabName);
                }
                else
                {
                    mask |= 16;
                }
                if (instance.Prices != null)
                {
                    ListProxy <ItemPriceView> .Serialize(bytes, instance.Prices, ItemPriceViewProxy.Serialize);
                }
                else
                {
                    mask |= 32;
                }

                EnumProxy <ItemShopHighlightType> .Serialize(bytes, instance.ShopHighlightType);

                Int32Proxy.Serialize(bytes, instance.UsesPerGame);
                Int32Proxy.Serialize(bytes, instance.UsesPerLife);
                Int32Proxy.Serialize(bytes, instance.UsesPerRound);
                Int32Proxy.Serialize(bytes, instance.WarmUpTime);
                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
Beispiel #21
0
        public static void Serialize(Stream stream, UberStrikeItemFunctionalView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                if (instance.CustomProperties != null)
                {
                    DictionaryProxy <string, string> .Serialize(bytes, instance.CustomProperties, new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize), new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize));
                }
                else
                {
                    mask |= 1;
                }
                if (instance.Description != null)
                {
                    StringProxy.Serialize(bytes, instance.Description);
                }
                else
                {
                    mask |= 2;
                }

                Int32Proxy.Serialize(bytes, instance.ID);
                BooleanProxy.Serialize(bytes, instance.IsConsumable);
                EnumProxy <UberStrikeItemClass> .Serialize(bytes, instance.ItemClass);

                if (instance.ItemProperties != null)
                {
                    DictionaryProxy <ItemPropertyType, int> .Serialize(bytes, instance.ItemProperties, EnumProxy <ItemPropertyType> .Serialize, Int32Proxy.Serialize);
                }
                else
                {
                    mask |= 4;
                }

                Int32Proxy.Serialize(bytes, instance.LevelLock);
                Int32Proxy.Serialize(bytes, instance.MaxDurationDays);

                if (instance.Name != null)
                {
                    StringProxy.Serialize(bytes, instance.Name);
                }
                else
                {
                    mask |= 8;
                }
                if (instance.PrefabName != null)
                {
                    StringProxy.Serialize(bytes, instance.PrefabName);
                }
                else
                {
                    mask |= 16;
                }
                if (instance.Prices != null)
                {
                    ListProxy <ItemPriceView> .Serialize(bytes, instance.Prices, ItemPriceViewProxy.Serialize);
                }
                else
                {
                    mask |= 32;
                }

                EnumProxy <ItemShopHighlightType> .Serialize(bytes, instance.ShopHighlightType);

                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }
Beispiel #22
0
        public static UberStrikeItemWeaponView Deserialize(Stream bytes)
        {
            int mask = Int32Proxy.Deserialize(bytes);
            var view = new UberStrikeItemWeaponView();

            view.AccuracySpread      = Int32Proxy.Deserialize(bytes);
            view.CombatRange         = Int32Proxy.Deserialize(bytes);
            view.CriticalStrikeBonus = Int32Proxy.Deserialize(bytes);

            if ((mask & 1) != 0)
            {
                view.CustomProperties = DictionaryProxy <string, string> .Deserialize(bytes, StringProxy.Deserialize, StringProxy.Deserialize);
            }

            view.DamageKnockback       = Int32Proxy.Deserialize(bytes);
            view.DamagePerProjectile   = Int32Proxy.Deserialize(bytes);
            view.DefaultZoomMultiplier = Int32Proxy.Deserialize(bytes);

            if ((mask & 2) != 0)
            {
                view.Description = StringProxy.Deserialize(bytes);
            }

            view.HasAutomaticFire = BooleanProxy.Deserialize(bytes);
            view.ID           = Int32Proxy.Deserialize(bytes);
            view.IsConsumable = BooleanProxy.Deserialize(bytes);
            view.ItemClass    = EnumProxy <UberStrikeItemClass> .Deserialize(bytes);

            if ((mask & 4) != 0)
            {
                view.ItemProperties = DictionaryProxy <ItemPropertyType, int> .Deserialize(bytes, EnumProxy <ItemPropertyType> .Deserialize, Int32Proxy.Deserialize);
            }

            view.LevelLock             = Int32Proxy.Deserialize(bytes);
            view.MaxAmmo               = Int32Proxy.Deserialize(bytes);
            view.MaxDurationDays       = Int32Proxy.Deserialize(bytes);
            view.MaxZoomMultiplier     = Int32Proxy.Deserialize(bytes);
            view.MinZoomMultiplier     = Int32Proxy.Deserialize(bytes);
            view.MissileBounciness     = Int32Proxy.Deserialize(bytes);
            view.MissileForceImpulse   = Int32Proxy.Deserialize(bytes);
            view.MissileTimeToDetonate = Int32Proxy.Deserialize(bytes);

            if ((mask & 8) != 0)
            {
                view.Name = StringProxy.Deserialize(bytes);
            }
            if ((mask & 16) != 0)
            {
                view.PrefabName = StringProxy.Deserialize(bytes);
            }
            if ((mask & 32) != 0)
            {
                view.Prices = ListProxy <ItemPriceView> .Deserialize(bytes, ItemPriceViewProxy.Deserialize);
            }

            view.ProjectileSpeed        = Int32Proxy.Deserialize(bytes);
            view.ProjectilesPerShot     = Int32Proxy.Deserialize(bytes);
            view.RateOfFire             = Int32Proxy.Deserialize(bytes);
            view.RecoilKickback         = Int32Proxy.Deserialize(bytes);
            view.RecoilMovement         = Int32Proxy.Deserialize(bytes);
            view.SecondaryActionReticle = Int32Proxy.Deserialize(bytes);
            view.ShopHighlightType      = EnumProxy <ItemShopHighlightType> .Deserialize(bytes);

            view.SplashRadius          = Int32Proxy.Deserialize(bytes);
            view.StartAmmo             = Int32Proxy.Deserialize(bytes);
            view.Tier                  = Int32Proxy.Deserialize(bytes);
            view.WeaponSecondaryAction = Int32Proxy.Deserialize(bytes);

            return(view);
        }
Beispiel #23
0
        public static void Serialize(Stream stream, UberStrikeItemWeaponView instance)
        {
            int mask = 0;

            using (var bytes = new MemoryStream())
            {
                Int32Proxy.Serialize(bytes, instance.AccuracySpread);
                Int32Proxy.Serialize(bytes, instance.CombatRange);
                Int32Proxy.Serialize(bytes, instance.CriticalStrikeBonus);

                if (instance.CustomProperties != null)
                {
                    DictionaryProxy <string, string> .Serialize(bytes, instance.CustomProperties, new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize), new DictionaryProxy <string, string> .Serializer <string>(StringProxy.Serialize));
                }
                else
                {
                    mask |= 1;
                }

                Int32Proxy.Serialize(bytes, instance.DamageKnockback);
                Int32Proxy.Serialize(bytes, instance.DamagePerProjectile);
                Int32Proxy.Serialize(bytes, instance.DefaultZoomMultiplier);

                if (instance.Description != null)
                {
                    StringProxy.Serialize(bytes, instance.Description);
                }
                else
                {
                    mask |= 2;
                }

                BooleanProxy.Serialize(bytes, instance.HasAutomaticFire);
                Int32Proxy.Serialize(bytes, instance.ID);
                BooleanProxy.Serialize(bytes, instance.IsConsumable);
                EnumProxy <UberStrikeItemClass> .Serialize(bytes, instance.ItemClass);

                if (instance.ItemProperties != null)
                {
                    DictionaryProxy <ItemPropertyType, int> .Serialize(bytes, instance.ItemProperties, EnumProxy <ItemPropertyType> .Serialize, Int32Proxy.Serialize);
                }
                else
                {
                    mask |= 4;
                }

                Int32Proxy.Serialize(bytes, instance.LevelLock);
                Int32Proxy.Serialize(bytes, instance.MaxAmmo);
                Int32Proxy.Serialize(bytes, instance.MaxDurationDays);
                Int32Proxy.Serialize(bytes, instance.MaxZoomMultiplier);
                Int32Proxy.Serialize(bytes, instance.MinZoomMultiplier);
                Int32Proxy.Serialize(bytes, instance.MissileBounciness);
                Int32Proxy.Serialize(bytes, instance.MissileForceImpulse);
                Int32Proxy.Serialize(bytes, instance.MissileTimeToDetonate);

                if (instance.Name != null)
                {
                    StringProxy.Serialize(bytes, instance.Name);
                }
                else
                {
                    mask |= 8;
                }
                if (instance.PrefabName != null)
                {
                    StringProxy.Serialize(bytes, instance.PrefabName);
                }
                else
                {
                    mask |= 16;
                }
                if (instance.Prices != null)
                {
                    ListProxy <ItemPriceView> .Serialize(bytes, instance.Prices, ItemPriceViewProxy.Serialize);
                }
                else
                {
                    mask |= 32;
                }

                Int32Proxy.Serialize(bytes, instance.ProjectileSpeed);
                Int32Proxy.Serialize(bytes, instance.ProjectilesPerShot);
                Int32Proxy.Serialize(bytes, instance.RateOfFire);
                Int32Proxy.Serialize(bytes, instance.RecoilKickback);
                Int32Proxy.Serialize(bytes, instance.RecoilMovement);
                Int32Proxy.Serialize(bytes, instance.SecondaryActionReticle);
                EnumProxy <ItemShopHighlightType> .Serialize(bytes, instance.ShopHighlightType);

                Int32Proxy.Serialize(bytes, instance.SplashRadius);
                Int32Proxy.Serialize(bytes, instance.StartAmmo);
                Int32Proxy.Serialize(bytes, instance.Tier);
                Int32Proxy.Serialize(bytes, instance.WeaponSecondaryAction);
                Int32Proxy.Serialize(stream, ~mask);
                bytes.WriteTo(stream);
            }
        }