Example #1
0
        private IEnumerator OnReciveRewardItems(Reward_Useitems useItems)
        {
            bool recived = false;
            UIGetRewardDialog     rewardMateralsDialog = Util.Instantiate(mPrefabUIDutyRewardMaterialsDialog.gameObject, mModalCamera.gameObject).GetComponent <UIGetRewardDialog>();
            List <Reward_Useitem> rewardItems          = new List <Reward_Useitem>();

            IReward_Useitem[] rewards = useItems.Rewards;
            for (int i = 0; i < rewards.Length; i++)
            {
                Reward_Useitem iMaterial  = (Reward_Useitem)rewards[i];
                Reward_Useitem rewardItem = iMaterial;
                rewardItems.Add(rewardItem);
            }
            rewardMateralsDialog.Initialize(rewardItems.ToArray());
            rewardMateralsDialog.SetOnDialogClosedCallBack(delegate
            {
                recived = true;
                rewardMateralsDialog.Close();
                UnityEngine.Object.Destroy(rewardMateralsDialog.gameObject);
            });
            KeyControl rewardDialogKeyController = rewardMateralsDialog.Show();

            ChangeKeyController(rewardDialogKeyController);
            while (!recived)
            {
                yield return(new WaitForSeconds(0.5f));
            }
        }
Example #2
0
        public List <IReward> RecieveRewards(int duty_no)
        {
            DutyModel duty = this.GetDuty(duty_no);

            if (duty.State != QuestState.COMPLETE)
            {
                return(null);
            }
            List <QuestItemGetFmt> list = this._quest.ClearItemGet(((__DutyModel__)duty).Fmt);

            if (list == null)
            {
                return(null);
            }
            List <IReward>          list2           = new List <IReward>();
            List <IReward_Material> list3           = null;
            Reward_Useitems         reward_Useitems = null;

            for (int i = 0; i < list.get_Count(); i++)
            {
                if (list.get_Item(i).Category == QuestItemGetKind.Material && list.get_Item(i).Count > 0)
                {
                    if (list3 == null)
                    {
                        list3 = new List <IReward_Material>();
                        Reward_Materials reward_Materials = new Reward_Materials(list3);
                        list2.Add(reward_Materials);
                    }
                    list3.Add(new Reward_Material((enumMaterialCategory)list.get_Item(i).Id, list.get_Item(i).Count));
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Deck)
                {
                    list2.Add(new Reward_Deck(list.get_Item(i).Id));
                    base.UserInfo.__UpdateDeck__(new Api_get_Member());
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.FurnitureBox)
                {
                    if (reward_Useitems == null)
                    {
                        reward_Useitems = new Reward_Useitems();
                        list2.Add(reward_Useitems);
                    }
                    reward_Useitems.__Add__(list.get_Item(i).Id, list.get_Item(i).Count);
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.LargeBuild)
                {
                    list2.Add(new Reward_LargeBuild());
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Ship)
                {
                    for (int j = 0; j < list.get_Item(i).Count; j++)
                    {
                        list2.Add(new Reward_Ship(list.get_Item(i).Id));
                    }
                    base.UserInfo.__UpdateShips__(new Api_get_Member());
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.SlotItem)
                {
                    for (int k = 0; k < list.get_Item(i).Count; k++)
                    {
                        list2.Add(new Reward_Slotitem(list.get_Item(i).Id));
                    }
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.UseItem)
                {
                    list2.Add(new Reward_Useitem(list.get_Item(i).Id, list.get_Item(i).Count));
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Furniture)
                {
                    list2.Add(new Reward_Furniture(list.get_Item(i).Id));
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Exchange)
                {
                    list2.Add(new Reward_Exchange_Slotitem(list.get_Item(i).FromId, list.get_Item(i).Id, list.get_Item(i).IsUseCrewItem));
                    List <SlotitemModel> slotitemList = base.UserInfo.GetDeck(1).GetFlagShip().SlotitemList;
                    for (int l = 0; l < slotitemList.get_Count(); l++)
                    {
                        if (slotitemList.get_Item(l) != null)
                        {
                            slotitemList.get_Item(l).__update__();
                        }
                    }
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Spoint)
                {
                    list2.Add(new Reward_SPoint(list.get_Item(i).Count));
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.DeckPractice)
                {
                    list2.Add(new Reward_DeckPracitce(list.get_Item(i).Id));
                }
                else if (list.get_Item(i).Category == QuestItemGetKind.Tanker)
                {
                    list2.Add(new Reward_TransportCraft(list.get_Item(i).Count));
                    base._UpdateTankerManager();
                }
            }
            List <IReward> list4 = list2.FindAll((IReward reward) => reward is Reward_Furniture);

            if (list4.get_Count() > 0)
            {
                Api_Result <Dictionary <FurnitureKinds, List <Mst_furniture> > > api_Result = new Api_get_Member().FurnitureList();
                if (api_Result.state == Api_Result_State.Success)
                {
                    for (int m = 0; m < list4.get_Count(); m++)
                    {
                        Reward_Furniture reward_Furniture = (Reward_Furniture)list4.get_Item(m);
                        reward_Furniture.__Init__(api_Result.data);
                    }
                }
            }
            this._UpdateDutyData();
            return(list2);
        }