private void OnSelectUseItemCallBack(ItemlistModel model) { bool activeState = this.CurrentState == UIItemListManager.State.ItemSelect || this.CurrentState == UIItemListManager.State.UseCheck; if (activeState) { if (this.CurrentState == UIItemListManager.State.ItemSelect) { this.mItemList.SetKeyController(null); this.PushState(UIItemListManager.State.UseCheck); } this.mItemListChildDetai.SetKeyController(null); bool flag = this.IsExchangeItemlistModel(model); if (flag) { int mstId = model.MstId; if (mstId == 57) { this.mItemExchangeMedalConfirm.Initialize(model, this.mItemListManager); this.mItemExchangeMedalConfirm.SetKeyController(this.mKeyController); this.mItemExchangeMedalConfirm.SetOnExchangeItemSelectedCallBack(delegate(ItemExchangeKinds selectedItemExchangeKind) { this.mItemExchangeMedalConfirm.SetKeyController(null); ItemlistManager.Result result = this.mItemListManager.UseItem(model.MstId, false, selectedItemExchangeKind); if (result.IsLimitOver()) { this.mItemExchangeMedalConfirm.Close(null); this.mItemUseLimitOverConfirm.SetOnNegativeCallBack(delegate { bool flag2 = this.CurrentState == UIItemListManager.State.ExchangeSelect; if (flag2) { this.PopState(); this.mItemUseLimitOverConfirm.Close(null); this.mItemUseLimitOverConfirm.SetKeyController(null); this.ResumeState(); } }); this.mItemUseLimitOverConfirm.SetOnPositiveCallBack(delegate { bool flag2 = this.CurrentState == UIItemListManager.State.ExchangeSelect; if (flag2) { this.PopState(); this.mItemUseLimitOverConfirm.Close(null); this.mItemUseLimitOverConfirm.SetKeyController(null); ItemlistManager.Result result2 = this.mItemListManager.UseItem(model.MstId, true, selectedItemExchangeKind); this.StartCoroutine(this.OnGetRewards(model, result2.Rewards, delegate { this.mItemList.Refresh(this.mItemListManager.HaveItems.ToArray()); this.ResumeState(); })); } }); this.mItemUseLimitOverConfirm.Initialize(); this.mItemUseLimitOverConfirm.SetKeyController(this.mKeyController); this.mItemUseLimitOverConfirm.Show(null); this.ReplaceState(UIItemListManager.State.ExchangeSelect); } else { this.mItemExchangeMedalConfirm.Close(null); this.ReplaceState(UIItemListManager.State.GetReward); this.StartCoroutine(this.OnGetRewards(model, result.Rewards, delegate { this.mItemList.Refresh(this.mItemListManager.HaveItems.ToArray()); this.PopState(); this.ResumeState(); })); } }); this.mItemExchangeMedalConfirm.SetOnCancelCallBack(delegate { this.mItemExchangeMedalConfirm.Close(null); this.mItemExchangeMedalConfirm.SetKeyController(null); this.PopState(); this.ResumeState(); }); this.mItemExchangeMedalConfirm.Show(null); this.ReplaceState(UIItemListManager.State.ExchangeSelect); } } else { this.mItemUseConfirm.SetOnNegativeCallBack(delegate { bool flag2 = this.CurrentState == UIItemListManager.State.ExchangeSelect; if (activeState) { this.PopState(); this.mItemUseConfirm.SetKeyController(null); this.mItemUseConfirm.Close(null); this.ResumeState(); } }); this.mItemUseConfirm.SetOnPositiveCallBack(delegate { bool flag2 = this.CurrentState == UIItemListManager.State.ExchangeSelect; if (activeState) { this.mItemUseConfirm.SetKeyController(null); this.mItemUseConfirm.Close(null); ItemlistManager.Result result = this.mItemListManager.UseItem(model.MstId, false, ItemExchangeKinds.NONE); if (result == null) { if (model.MstId == 53) { CommonPopupDialog.Instance.StartPopup("これ以上拡張できません"); } this.PopState(); this.ResumeState(); } else if (result.IsLimitOver()) { this.ReplaceState(UIItemListManager.State.ExchangeSelect); this.mItemUseLimitOverConfirm.SetOnNegativeCallBack(delegate { this.PopState(); this.mItemUseLimitOverConfirm.SetKeyController(null); this.mItemUseLimitOverConfirm.Close(null); this.ResumeState(); }); this.mItemUseLimitOverConfirm.SetOnPositiveCallBack(delegate { this.mItemUseLimitOverConfirm.SetKeyController(null); this.mItemUseLimitOverConfirm.Close(null); ItemlistManager.Result result2 = this.mItemListManager.UseItem(model.MstId, true, ItemExchangeKinds.NONE); this.StartCoroutine(this.OnGetRewards(model, result2.Rewards, delegate { this.mItemList.Refresh(this.mItemListManager.HaveItems.ToArray()); this.PopState(); this.ResumeState(); })); }); this.mItemUseLimitOverConfirm.Initialize(); this.mItemUseLimitOverConfirm.SetKeyController(this.mKeyController); this.mItemUseLimitOverConfirm.Show(null); } else { this.ReplaceState(UIItemListManager.State.GetReward); IReward[] rewards = result.Rewards; this.StartCoroutine(this.OnGetRewards(model, rewards, delegate { this.mItemList.Refresh(this.mItemListManager.HaveItems.ToArray()); this.PopState(); this.ResumeState(); })); } } }); this.mItemListChildDetai.SetKeyController(null); this.ReplaceState(UIItemListManager.State.ExchangeSelect); this.mItemUseConfirm.Initialize(); this.mItemUseConfirm.Show(null); this.mItemUseConfirm.SetKeyController(this.mKeyController); } } }
private void OnSelectUseItemCallBack(ItemlistModel model) { bool activeState = CurrentState == State.ItemSelect || CurrentState == State.UseCheck; if (!activeState) { return; } if (CurrentState == State.ItemSelect) { mItemList.SetKeyController(null); PushState(State.UseCheck); } mItemListChildDetai.SetKeyController(null); if (IsExchangeItemlistModel(model)) { int mstId = model.MstId; if (mstId == 57) { mItemExchangeMedalConfirm.Initialize(model, mItemListManager); mItemExchangeMedalConfirm.SetKeyController(mKeyController); mItemExchangeMedalConfirm.SetOnExchangeItemSelectedCallBack(delegate(ItemExchangeKinds selectedItemExchangeKind) { mItemExchangeMedalConfirm.SetKeyController(null); ItemlistManager.Result result3 = mItemListManager.UseItem(model.MstId, is_force: false, selectedItemExchangeKind); if (result3.IsLimitOver()) { mItemExchangeMedalConfirm.Close(null); mItemUseLimitOverConfirm.SetOnNegativeCallBack(delegate { if (CurrentState == State.ExchangeSelect) { PopState(); mItemUseLimitOverConfirm.Close(null); mItemUseLimitOverConfirm.SetKeyController(null); ResumeState(); } }); mItemUseLimitOverConfirm.SetOnPositiveCallBack(delegate { if (CurrentState == State.ExchangeSelect) { PopState(); mItemUseLimitOverConfirm.Close(null); mItemUseLimitOverConfirm.SetKeyController(null); ItemlistManager.Result result4 = mItemListManager.UseItem(model.MstId, is_force: true, selectedItemExchangeKind); StartCoroutine(OnGetRewards(model, result4.Rewards, delegate { mItemList.Refresh(mItemListManager.HaveItems.ToArray()); ResumeState(); })); } }); mItemUseLimitOverConfirm.Initialize(); mItemUseLimitOverConfirm.SetKeyController(mKeyController); mItemUseLimitOverConfirm.Show(null); ReplaceState(State.ExchangeSelect); } else { mItemExchangeMedalConfirm.Close(null); ReplaceState(State.GetReward); StartCoroutine(OnGetRewards(model, result3.Rewards, delegate { mItemList.Refresh(mItemListManager.HaveItems.ToArray()); PopState(); ResumeState(); })); } }); mItemExchangeMedalConfirm.SetOnCancelCallBack(delegate { mItemExchangeMedalConfirm.Close(null); mItemExchangeMedalConfirm.SetKeyController(null); PopState(); ResumeState(); }); mItemExchangeMedalConfirm.Show(null); ReplaceState(State.ExchangeSelect); } } else { mItemUseConfirm.SetOnNegativeCallBack(delegate { bool flag = CurrentState == State.ExchangeSelect; if (activeState) { PopState(); mItemUseConfirm.SetKeyController(null); mItemUseConfirm.Close(null); ResumeState(); } }); mItemUseConfirm.SetOnPositiveCallBack(delegate { bool flag2 = CurrentState == State.ExchangeSelect; if (activeState) { mItemUseConfirm.SetKeyController(null); mItemUseConfirm.Close(null); ItemlistManager.Result result = mItemListManager.UseItem(model.MstId, is_force: false, ItemExchangeKinds.NONE); if (result == null) { if (model.MstId == 53) { CommonPopupDialog.Instance.StartPopup("これ以上拡張できません"); } PopState(); ResumeState(); } else if (result.IsLimitOver()) { ReplaceState(State.ExchangeSelect); mItemUseLimitOverConfirm.SetOnNegativeCallBack(delegate { PopState(); mItemUseLimitOverConfirm.SetKeyController(null); mItemUseLimitOverConfirm.Close(null); ResumeState(); }); mItemUseLimitOverConfirm.SetOnPositiveCallBack(delegate { mItemUseLimitOverConfirm.SetKeyController(null); mItemUseLimitOverConfirm.Close(null); ItemlistManager.Result result2 = mItemListManager.UseItem(model.MstId, is_force: true, ItemExchangeKinds.NONE); StartCoroutine(OnGetRewards(model, result2.Rewards, delegate { mItemList.Refresh(mItemListManager.HaveItems.ToArray()); PopState(); ResumeState(); })); }); mItemUseLimitOverConfirm.Initialize(); mItemUseLimitOverConfirm.SetKeyController(mKeyController); mItemUseLimitOverConfirm.Show(null); } else { ReplaceState(State.GetReward); IReward[] rewards = result.Rewards; StartCoroutine(OnGetRewards(model, rewards, delegate { mItemList.Refresh(mItemListManager.HaveItems.ToArray()); PopState(); ResumeState(); })); } } }); mItemListChildDetai.SetKeyController(null); ReplaceState(State.ExchangeSelect); mItemUseConfirm.Initialize(); mItemUseConfirm.Show(null); mItemUseConfirm.SetKeyController(mKeyController); } }