private IEnumerator OnGetMaterialsReward(ItemlistModel usedModel, IReward_Materials reward) { UIGetRewardDialog dialog = Util.Instantiate(mPrefab_UIGetRewardDialog.gameObject, mTransform_DialogArea.gameObject).GetComponent <UIGetRewardDialog>(); List <Reward_Material> rewardMaterials = new List <Reward_Material>(); IReward_Material[] rewards = reward.Rewards; foreach (IReward_Material material in rewards) { rewardMaterials.Add((Reward_Material)material); } bool showFlag = true; dialog.Initialize(rewardMaterials.ToArray()); dialog.Show(mKeyController); dialog.SetOnDialogClosedCallBack(delegate { showFlag = false; UnityEngine.Object.Destroy(dialog.gameObject); }); while (showFlag) { yield return(null); } yield return(null); }
private void OnDestroy() { UserInterfacePortManager.ReleaseUtils.Release(ref this.mButton_ChangeItemStore); this.mTransform_DialogArea = null; this.mItemList = null; this.mItemListChildDetai = null; this.mItemExchangeMedalConfirm = null; this.mItemUseLimitOverConfirm = null; this.mItemUseConfirm = null; this.mPrefab_UIGetRewardDialog = null; this.mPrefab_UIUseItemReceiveFurnitureBox = null; }
private IEnumerator OnGetUseItemReward(ItemlistModel usedModel, IReward_Useitem reward) { switch (usedModel.MstId) { case 10: case 11: case 12: { UIUseItemReceiveFurnitureBox furnitureBox = Util.Instantiate(mPrefab_UIUseItemReceiveFurnitureBox.gameObject, mTransform_DialogArea.gameObject).GetComponent <UIUseItemReceiveFurnitureBox>(); mItemListChildDetai.SetKeyController(null); furnitureBox.SetKeyController(mKeyController); bool showFlag = true; StartCoroutine(furnitureBox.Show(usedModel.MstId, reward.Count, delegate { furnitureBox.SetKeyController(null); UnityEngine.Object.Destroy(furnitureBox.gameObject); showFlag = false; })); while (showFlag) { yield return(null); } break; } case 57: { UIGetRewardDialog dialog = Util.Instantiate(mPrefab_UIGetRewardDialog.gameObject, mTransform_DialogArea.gameObject).GetComponent <UIGetRewardDialog>(); bool showDialogFlag = true; dialog.Initialize(new Reward_Useitem[1] { (Reward_Useitem)reward }); dialog.Show(mKeyController); dialog.SetOnDialogClosedCallBack(delegate { showDialogFlag = false; UnityEngine.Object.Destroy(dialog.gameObject); }); while (showDialogFlag) { yield return(null); } break; } } }