public void OpenSaleDialog() { if (!IsSaleUnit()) { return; } SoundUtil.PlaySE(SEID.SE_MENU_OK2); //---------------------------------------- // パラメータリミットチェック //---------------------------------------- //チェック対象:コイン・ユニットポイント PRM_LIMIT_ERROR_TYPE ret = MainMenuUtil.ChkPrmLimit((uint)m_UnitBGPanel.Money, 0, 0, 0, (uint)m_UnitBGPanel.Point); Dialog warningDialog = null; switch (ret) { case PRM_LIMIT_ERROR_TYPE.PRM_LIMIT_ERR_COIN: // コインが最大数オーバー warningDialog = Dialog.Create(DialogType.DialogYesNo); warningDialog.SetDialogTextFromTextkey(DialogTextType.Title, "ERROR_SALE_LIMIT_COIN_TITLE"); warningDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "ERROR_SALE_LIMIT_COIN"); break; case PRM_LIMIT_ERROR_TYPE.PRM_LIMIT_ERR_UNITPOINT: // ユニットポイントが最大数オーバー warningDialog = Dialog.Create(DialogType.DialogYesNo); warningDialog.SetDialogTextFromTextkey(DialogTextType.Title, "ERROR_SALE_LIMIT_UNITPOINT_TITLE"); warningDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "ERROR_SALE_LIMIT_UNITPOINT"); break; case PRM_LIMIT_ERROR_TYPE.PRM_LIMIT_ERR_OTHER: // コインとユニットポイントが最大数オーバー warningDialog = Dialog.Create(DialogType.DialogYesNo); warningDialog.SetDialogTextFromTextkey(DialogTextType.Title, "ERROR_SALE_LIMIT_OTHER_TITLE"); warningDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "ERROR_SALE_LIMIT_OTHER"); break; } if (warningDialog != null) { warningDialog.SetDialogTextFromTextkey(DialogTextType.YesText, "common_button4"); warningDialog.SetDialogTextFromTextkey(DialogTextType.NoText, "common_button5"); warningDialog.SetDialogEvent(DialogButtonEventType.YES, () => { openSaleWarningDialog(); }); warningDialog.Show(); return; } openSaleWarningDialog(); }
/// <summary> /// クエスト決定 /// </summary> /// <param name="quest_id"></param> private void SelectQuest(uint quest_index) { SoundUtil.PlaySE(SEID.SE_MENU_OK2); EpisodeDataContext selectArea = m_QuestSelect.EpisodeList[m_SelectAreaIndex]; QuestDataContext selectQuest = m_QuestSelect.QuestList[(int)quest_index]; switch (m_QuestSelect.QuestList[(int)quest_index].m_QuestType) { case QuestDataContext.ExecType.Quest: break; case QuestDataContext.ExecType.Quest2: { { MainMenuParam.m_QuestStamina = 0; MainMenuParam.m_QuestKey = 0; MainMenuParam.m_QuestTicket = 0; switch (selectQuest.master.consume_type) { case 1: MainMenuParam.m_QuestStamina = selectQuest.m_Point; break; case 2: MainMenuParam.m_QuestKey = selectQuest.m_Point; break; case 3: MainMenuParam.m_QuestTicket = selectQuest.m_Point; break; } MainMenuParam.m_QuestAreaAmendList = selectArea.amend.m_AreaMasterDataAmendList; } if (MainMenuManager.HasInstance) { MainMenuParam.m_QuestSelectAreaID = selectArea.master.fix_id; MainMenuParam.m_QuestSelectMissionID = selectQuest.master.fix_id; MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_DETAIL, false, false); } } break; case QuestDataContext.ExecType.Event: { //---------------------------------------- // パラメータリミットチェック //---------------------------------------- //チェック対象:コイン、チケット、フレンドポイント PRM_LIMIT_ERROR_TYPE ret = MainMenuUtil.ChkPrmLimit(1, 1, 1, 0, 0); //チェック対象:消費アイテム全て ret = MainMenuUtil.ChkPrmLimitItem(1, -1, ret); //チェック対象:クエストキー全て ret = MainMenuUtil.ChkPrmLimitQuestKey(1, -1, ret); MainMenuUtil.ShowParamLimitDialog(ret, DialogType.DialogYesNo, (isPositive) => { if (isPositive == true) { //---------------------------------------- // ストーリー画面の表示 //---------------------------------------- StoryView cutin = StoryView.Create(); cutin.SetScenario(selectQuest.master.story, selectQuest.master.fix_id); cutin.SetReloadQuestListEvent(() => { int hasAreaCount = 0; bool hasSelectArea = false; selectQuest.SetFlag(selectQuest.master.fix_id); updateEpisodeListInfo(ref hasAreaCount, ref hasSelectArea); // 表示しているエリアが期限切れ if (hasSelectArea == false) { openWarningAreaDialog(); } }); cutin.Show(() => { #if BUILD_TYPE_DEBUG Debug.Log("StoryView Completed"); #endif }); } }); } break; } }