Beispiel #1
0
        public static AuthenticateApplicationView Deserialize(Stream bytes)
        {
            var mask = Int32Proxy.Deserialize(bytes);
            var view = new AuthenticateApplicationView();

            if ((mask & 1) != 0)
            {
                view.CommServer = PhotonViewProxy.Deserialize(bytes);
            }
            if ((mask & 2) != 0)
            {
                view.EncryptionInitVector = StringProxy.Deserialize(bytes);
            }
            if ((mask & 4) != 0)
            {
                view.EncryptionPassPhrase = StringProxy.Deserialize(bytes);
            }
            if ((mask & 8) != 0)
            {
                view.GameServers = ListProxy <PhotonView> .Deserialize(bytes, PhotonViewProxy.Deserialize);
            }

            view.IsEnabled  = BooleanProxy.Deserialize(bytes);
            view.WarnPlayer = BooleanProxy.Deserialize(bytes);
            return(view);
        }
        public static LuckyDrawSetUnityView Deserialize(Stream bytes)
        {
            var mask = Int32Proxy.Deserialize(bytes);
            var view = new LuckyDrawSetUnityView();

            view.CreditsAttributed    = Int32Proxy.Deserialize(bytes);
            view.ExposeItemsToPlayers = BooleanProxy.Deserialize(bytes);
            view.Id = Int32Proxy.Deserialize(bytes);

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

            view.LuckyDrawId = Int32Proxy.Deserialize(bytes);

            if ((mask & 2) != 0)
            {
                view.LuckyDrawSetItems = ListProxy <BundleItemView> .Deserialize(bytes, BundleItemViewProxy.Deserialize);
            }

            view.PointsAttributed = Int32Proxy.Deserialize(bytes);
            view.SetWeight        = Int32Proxy.Deserialize(bytes);
            return(view);
        }
        public static LuckyDrawUnityView Deserialize(Stream bytes)
        {
            var mask = Int32Proxy.Deserialize(bytes);
            var view = new LuckyDrawUnityView();

            view.Category = EnumProxy <BundleCategoryType> .Deserialize(bytes);

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

            view.Id = Int32Proxy.Deserialize(bytes);
            view.IsAvailableInShop = BooleanProxy.Deserialize(bytes);

            if ((mask & 4) != 0)
            {
                view.LuckyDrawSets = ListProxy <LuckyDrawSetUnityView> .Deserialize(bytes, LuckyDrawSetUnityViewProxy.Deserialize);
            }
            if ((mask & 8) != 0)
            {
                view.Name = StringProxy.Deserialize(bytes);
            }

            view.Price = Int32Proxy.Deserialize(bytes);
            view.UberStrikeCurrencyType = EnumProxy <UberStrikeCurrencyType> .Deserialize(bytes);

            return(view);
        }
Beispiel #4
0
        private void ChatMessageToClan(CommPeer peer, MemoryStream bytes)
        {
            var clanMembers = ListProxy <int> .Deserialize(bytes, Int32Proxy.Deserialize);

            var message = StringProxy.Deserialize(bytes);

            OnChatMessageToClan(peer, clanMembers, message);
        }
        // Token: 0x060012A0 RID: 4768 RVA: 0x0001F6EC File Offset: 0x0001D8EC
        private void FullPlayerListUpdate(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <CommActorInfo> players = ListProxy <CommActorInfo> .Deserialize(memoryStream, new ListProxy <CommActorInfo> .Deserializer <CommActorInfo>(CommActorInfoProxy.Deserialize));

                this.OnFullPlayerListUpdate(players);
            }
        }
        // Token: 0x06001332 RID: 4914 RVA: 0x00021A58 File Offset: 0x0001FC58
        private void AllPlayerDeltas(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <GameActorInfoDelta> allDeltas = ListProxy <GameActorInfoDelta> .Deserialize(memoryStream, new ListProxy <GameActorInfoDelta> .Deserializer <GameActorInfoDelta>(GameActorInfoDeltaProxy.Deserialize));

                this.OnAllPlayerDeltas(allDeltas);
            }
        }
        // Token: 0x06001327 RID: 4903 RVA: 0x00021748 File Offset: 0x0001F948
        private void SetPowerupState(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <int> states = ListProxy <int> .Deserialize(memoryStream, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize));

                this.OnSetPowerupState(states);
            }
        }
        // Token: 0x060012AB RID: 4779 RVA: 0x0001FA18 File Offset: 0x0001DC18
        private void UpdateActorsForModeration(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <CommActorInfo> allHackers = ListProxy <CommActorInfo> .Deserialize(memoryStream, new ListProxy <CommActorInfo> .Deserializer <CommActorInfo>(CommActorInfoProxy.Deserialize));

                this.OnUpdateActorsForModeration(allHackers);
            }
        }
Beispiel #9
0
        private void FullPlayerListUpdate(byte[] data)
        {
            using (var bytes = new MemoryStream(data))
            {
                var players = ListProxy <CommActorInfoView> .Deserialize(bytes, CommActorInfoViewProxy.Deserialize);

                OnFullPlayerListUpdate(players);
            }
        }
Beispiel #10
0
        // Token: 0x060012F5 RID: 4853 RVA: 0x000212A4 File Offset: 0x0001F4A4
        private void FullGameList(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <GameRoomData> gameList = ListProxy <GameRoomData> .Deserialize(memoryStream, new ListProxy <GameRoomData> .Deserializer <GameRoomData>(GameRoomDataProxy.Deserialize));

                this.OnFullGameList(gameList);
            }
        }
Beispiel #11
0
        private void PlayersReported(CommPeer peer, MemoryStream bytes)
        {
            var cmids = ListProxy <int> .Deserialize(bytes, Int32Proxy.Deserialize);

            var type    = Int32Proxy.Deserialize(bytes);
            var details = StringProxy.Deserialize(bytes);
            var logs    = StringProxy.Deserialize(bytes);

            OnPlayersReported(peer, cmids, type, details, logs);
        }
        // Token: 0x06001333 RID: 4915 RVA: 0x00021AA8 File Offset: 0x0001FCA8
        private void AllPlayerPositions(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <PlayerMovement> allPositions = ListProxy <PlayerMovement> .Deserialize(memoryStream, new ListProxy <PlayerMovement> .Deserializer <PlayerMovement>(PlayerMovementProxy.Deserialize));

                ushort gameframe = UInt16Proxy.Deserialize(memoryStream);
                this.OnAllPlayerPositions(allPositions, gameframe);
            }
        }
Beispiel #13
0
        // Token: 0x060012F8 RID: 4856 RVA: 0x00021394 File Offset: 0x0001F594
        private void GetGameInformation(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                GameRoomData         room    = GameRoomDataProxy.Deserialize(memoryStream);
                List <GameActorInfo> players = ListProxy <GameActorInfo> .Deserialize(memoryStream, new ListProxy <GameActorInfo> .Deserializer <GameActorInfo>(GameActorInfoProxy.Deserialize));

                int endTime = Int32Proxy.Deserialize(memoryStream);
                this.OnGetGameInformation(room, players, endTime);
            }
        }
        // Token: 0x0600129F RID: 4767 RVA: 0x0001F688 File Offset: 0x0001D888
        private void UpdateContacts(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <CommActorInfo> updated = ListProxy <CommActorInfo> .Deserialize(memoryStream, new ListProxy <CommActorInfo> .Deserializer <CommActorInfo>(CommActorInfoProxy.Deserialize));

                List <int> removed = ListProxy <int> .Deserialize(memoryStream, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize));

                this.OnUpdateContacts(updated, removed);
            }
        }
Beispiel #15
0
        // Token: 0x060012F6 RID: 4854 RVA: 0x000212F4 File Offset: 0x0001F4F4
        private void GameListUpdate(byte[] _bytes)
        {
            using (MemoryStream memoryStream = new MemoryStream(_bytes))
            {
                List <GameRoomData> updatedGames = ListProxy <GameRoomData> .Deserialize(memoryStream, new ListProxy <GameRoomData> .Deserializer <GameRoomData>(GameRoomDataProxy.Deserialize));

                List <int> removedGames = ListProxy <int> .Deserialize(memoryStream, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize));

                this.OnGameListUpdate(updatedGames, removedGames);
            }
        }
        public static UberStrikeItemQuickView Deserialize(Stream bytes)
        {
            int mask = Int32Proxy.Deserialize(bytes);
            var view = new UberStrikeItemQuickView();

            view.BehaviourType = EnumProxy <QuickItemLogic> .Deserialize(bytes);

            view.CoolDownTime = 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);
            view.MaxOwnableAmount = 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);

            view.UsesPerGame  = Int32Proxy.Deserialize(bytes);
            view.UsesPerLife  = Int32Proxy.Deserialize(bytes);
            view.UsesPerRound = Int32Proxy.Deserialize(bytes);
            view.WarmUpTime   = Int32Proxy.Deserialize(bytes);
            return(view);
        }
Beispiel #17
0
        // Token: 0x060011C9 RID: 4553 RVA: 0x0001D8E0 File Offset: 0x0001BAE0
        public static Coroutine GetAllLuckyDraws(Action <List <LuckyDrawUnityView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "GetAllLuckyDraws_1", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <LuckyDrawUnityView> .Deserialize(new MemoryStream(data), new ListProxy <LuckyDrawUnityView> .Deserializer <LuckyDrawUnityView>(LuckyDrawUnityViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #18
0
        // Token: 0x060011F1 RID: 4593 RVA: 0x0001DC10 File Offset: 0x0001BE10
        public static Coroutine GenerateNonDuplicatedMemberNames(string username, Action <List <string> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, username);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IUserWebServiceContract", "UserWebService", "GenerateNonDuplicatedMemberNames", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <string> .Deserialize(new MemoryStream(data), new ListProxy <string> .Deserializer <string>(StringProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #19
0
        public static AccountCompletionResultView Deserialize(Stream bytes)
        {
            int mask = Int32Proxy.Deserialize(bytes);
            var view = new AccountCompletionResultView();

            if ((mask & 1) != 0)
            {
                view.ItemsAttributed = DictionaryProxy <int, int> .Deserialize(bytes, Int32Proxy.Deserialize, Int32Proxy.Deserialize);
            }
            if ((mask & 2) != 0)
            {
                view.NonDuplicateNames = ListProxy <string> .Deserialize(bytes, StringProxy.Deserialize);
            }

            view.Result = Int32Proxy.Deserialize(bytes);
            return(view);
        }
Beispiel #20
0
        // Token: 0x06001163 RID: 4451 RVA: 0x0001C570 File Offset: 0x0001A770
        public static Coroutine GetAllGroupInvitations(string authToken, Action <List <GroupInvitationView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IClanWebServiceContract", "ClanWebService", "GetAllGroupInvitations", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <GroupInvitationView> .Deserialize(new MemoryStream(data), new ListProxy <GroupInvitationView> .Deserializer <GroupInvitationView>(GroupInvitationViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #21
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 #22
0
        // Token: 0x060011FB RID: 4603 RVA: 0x0001E160 File Offset: 0x0001C360
        public static Coroutine GetMemberListSessionData(List <string> authTokens, Action <List <MemberSessionDataView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                ListProxy <string> .Serialize(memoryStream, authTokens, new ListProxy <string> .Serializer <string>(StringProxy.Serialize));

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IUserWebServiceContract", "UserWebService", "GetMemberListSessionData", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <MemberSessionDataView> .Deserialize(new MemoryStream(data), new ListProxy <MemberSessionDataView> .Deserializer <MemberSessionDataView>(MemberSessionDataViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
        // 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 #24
0
        // Token: 0x060011C6 RID: 4550 RVA: 0x0001D748 File Offset: 0x0001B948
        public static Coroutine GetAllMysteryBoxs(BundleCategoryType bundleCategoryType, Action <List <MysteryBoxUnityView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                EnumProxy <BundleCategoryType> .Serialize(memoryStream, bundleCategoryType);

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "GetAllMysteryBoxs_2", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <MysteryBoxUnityView> .Deserialize(new MemoryStream(data), new ListProxy <MysteryBoxUnityView> .Deserializer <MysteryBoxUnityView>(MysteryBoxUnityViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #25
0
        // Token: 0x0600118C RID: 4492 RVA: 0x0001CA28 File Offset: 0x0001AC28
        public static Coroutine GetFacebookFriendsList(List <string> facebookIds, Action <List <PublicProfileView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                ListProxy <string> .Serialize(memoryStream, facebookIds, new ListProxy <string> .Serializer <string>(StringProxy.Serialize));

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IFacebookWebServiceContract", "FacebookWebService", "GetFacebookFriendsList", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <PublicProfileView> .Deserialize(new MemoryStream(data), new ListProxy <PublicProfileView> .Deserializer <PublicProfileView>(PublicProfileViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #26
0
        // Token: 0x060011BF RID: 4543 RVA: 0x0001D390 File Offset: 0x0001B590
        public static Coroutine GetBundles(ChannelType channel, Action <List <BundleView> > callback, Action <Exception> handler)
        {
            Coroutine result;

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

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "GetBundles", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <BundleView> .Deserialize(new MemoryStream(data), new ListProxy <BundleView> .Deserializer <BundleView>(BundleViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #27
0
        // Token: 0x06001198 RID: 4504 RVA: 0x0001CB40 File Offset: 0x0001AD40
        public static Coroutine GetAllMessageThreadsForUser(string authToken, int pageNumber, Action <List <MessageThreadView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, authToken);
                Int32Proxy.Serialize(memoryStream, pageNumber);
                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IPrivateMessageWebServiceContract", "PrivateMessageWebService", "GetAllMessageThreadsForUser", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <MessageThreadView> .Deserialize(new MemoryStream(data), new ListProxy <MessageThreadView> .Deserializer <MessageThreadView>(MessageThreadViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
Beispiel #28
0
        // Token: 0x06001139 RID: 4409 RVA: 0x0001BA54 File Offset: 0x00019C54
        public static Coroutine GetMaps(string clientVersion, DefinitionType clientType, Action <List <MapView> > callback, Action <Exception> handler)
        {
            Coroutine result;

            using (MemoryStream memoryStream = new MemoryStream())
            {
                StringProxy.Serialize(memoryStream, clientVersion);
                EnumProxy <DefinitionType> .Serialize(memoryStream, clientType);

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IApplicationWebServiceContract", "ApplicationWebService", "GetMaps", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <MapView> .Deserialize(new MemoryStream(data), new ListProxy <MapView> .Deserializer <MapView>(MapViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }
        public static MemberView Deserialize(Stream bytes)
        {
            var mask = Int32Proxy.Deserialize(bytes);
            var view = new MemberView();

            if ((mask & 1) != 0)
            {
                view.MemberItems = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize));
            }
            if ((mask & 2) != 0)
            {
                view.MemberWallet = MemberWalletViewProxy.Deserialize(bytes);
            }
            if ((mask & 4) != 0)
            {
                view.PublicProfile = PublicProfileViewProxy.Deserialize(bytes);
            }

            return(view);
        }
Beispiel #30
0
        // Token: 0x060011C8 RID: 4552 RVA: 0x0001D850 File Offset: 0x0001BA50
        public static Coroutine RollMysteryBox(string authToken, int mysteryBoxId, ChannelType channel, Action <List <MysteryBoxWonItemUnityView> > callback, Action <Exception> handler)
        {
            Coroutine result;

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

                result = MonoInstance.Mono.StartCoroutine(SoapClient.MakeRequest("IShopWebServiceContract", "ShopWebService", "RollMysteryBox", memoryStream.ToArray(), delegate(byte[] data)
                {
                    if (callback != null)
                    {
                        callback(ListProxy <MysteryBoxWonItemUnityView> .Deserialize(new MemoryStream(data), new ListProxy <MysteryBoxWonItemUnityView> .Deserializer <MysteryBoxWonItemUnityView>(MysteryBoxWonItemUnityViewProxy.Deserialize)));
                    }
                }, handler));
            }
            return(result);
        }