/// <summary> /// 特性ボタン選択 /// </summary> /// <param name="data"></param> private void OnSelectBossAtr(ChallengeSelect.EventData data) { SoundUtil.PlaySE(SEID.SE_MENU_OK); Dialog newDialog = Dialog.Create(DialogType.DialogScroll); newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "growth_boss_12"); newDialog.SetDialogText(DialogTextType.MainText, MasterDataUtil.GetBossAbilityText(data.questMaster)); newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1"); newDialog.EnableCancel(); newDialog.Show(); }
private void updateRewardFlag(ChallengeSelect.EventData data) { if (data.info.get_list != null && data.info.get_list.Length > 0) { m_ChallengeSelect.IsViewRewardFlag = true; } else { m_ChallengeSelect.IsViewRewardFlag = false; } }
/// <summary> /// ルールボタン選択 /// </summary> /// <param name="data"></param> private void OnSelectRule(ChallengeSelect.EventData data) { SoundUtil.PlaySE(SEID.SE_MENU_OK); Dialog newDialog = Dialog.Create(DialogType.DialogScroll); newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "growth_boss_11"); newDialog.SetDialogText(DialogTextType.MainText, data.questMaster.quest_requirement_text); newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1"); newDialog.EnableCancel(); newDialog.Show(); }
/// <summary> /// 報酬ボタン選択 /// </summary> /// <param name="data"></param> private void OnSelectReward(ChallengeSelect.EventData data) { SoundUtil.PlaySE(SEID.SE_MENU_OK); ChallengeRewardDialog newDialog = ChallengeRewardDialog.Create(SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent <Camera>()); newDialog.setup(data.info); newDialog.Show(() => { updateRewardFlag(data); }); }
/// <summary> /// レベル選択ボタン選択 /// </summary> /// <param name="data"></param> private void OnSelectSkip(ChallengeSelect.EventData data) { SoundUtil.PlaySE(SEID.SE_MENU_OK); m_ChallengeSelect.IsViewSkipButton = false; ChallengeSkipDialog newDialog = ChallengeSkipDialog.Create(SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent <Camera>()); newDialog.setup(data); newDialog.Show(() => { updateQuestInfo(data); m_ChallengeSelect.IsViewSkipButton = true; }); }
/// <summary> /// 期間情報更新 /// </summary> /// <param name="data"></param> private void updateTerm(ChallengeSelect.EventData data) { if (TimeEventManager.Instance.ChkEventActive(data.eventMaster.event_id) == true) { //開催中 MasterDataEvent eventData = MasterDataUtil.GetMasterDataEventFromID(data.eventMaster.event_id); DateTime startTime = TimeUtil.GetDateTime(eventData.timing_start); string kikanFormat = GameTextUtil.GetText("growth_boss_01"); if (eventData.timing_end != 0) { DateTime endTime = TimeUtil.GetDateTime(eventData.timing_end); endTime = endTime.SubtractAMinute(); m_ChallengeSelect.Time = string.Format(kikanFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), endTime.ToString("yyyy/MM/dd(HH:mm)")); } else { m_ChallengeSelect.Time = string.Format(kikanFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), ""); } m_ChallengeSelect.IsActiveSkipButton = true; m_ChallengeSelect.IsActiveOkButton = true; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("challenge_quest_marquee_open")); } else { //イベント終了 if (data.eventMaster.receiving_end != 0) { DateTime endTime = TimeUtil.GetDateTime(data.eventMaster.receiving_end); endTime = endTime.SubtractAMinute(); string kikanFormat = GameTextUtil.GetText("growth_boss_02"); m_ChallengeSelect.Time = string.Format(kikanFormat, endTime.ToString("yyyy/MM/dd(HH:mm)")); } else { m_ChallengeSelect.Time = GameTextUtil.GetText("growth_boss_03"); } m_ChallengeSelect.IsActiveSkipButton = false; m_ChallengeSelect.IsActiveOkButton = false; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("challenge_quest_marquee_end")); } }
/// <summary> /// 成長ボス選択 /// </summary> /// <param name="data"></param> private void OnSelectBoss(ChallengeSelect.EventData data) { //期間 updateTerm(data); //エリア効果 updateAreaAmend(data.questMaster.area_id); //クエスト情報更新 updateQuestInfo(data); //報酬フラグ updateRewardFlag(data); //選択保存 MainMenuParam.SetSaveSelectChallenge(data.questMaster.fix_id); //有効化 UnityUtil.SetObjectEnabledOnce(m_ChallengeQuestInfo.gameObject, true); }
/// <summary> /// OKボタン選択 /// </summary> /// <param name="data"></param> private void OnSelectOk(ChallengeSelect.EventData data) { var requirement_id = data.questMaster.quest_requirement_id; MasterDataQuestRequirement quest_requirement = null; if (requirement_id != 0) { quest_requirement = MasterDataUtil.GetMasterDataQuestRequirementFromID(requirement_id); } //-------------------------------- // ユニット所持数が上限超えてるならクエスト不可 //-------------------------------- if (UserDataAdmin.Instance.m_StructPlayer.total_unit < UserDataAdmin.Instance.m_StructPlayer.unit_list.Length) { openDialogUnitOver(); SoundUtil.PlaySE(SEID.SE_MENU_RET); } else if (quest_requirement != null && quest_requirement.limit_rank > UserDataAdmin.Instance.m_StructPlayer.rank) { //-------------------------------- // ランク制限でクエストに入れない場合 //-------------------------------- openDialogRankLow(); SoundUtil.PlaySE(SEID.SE_MENU_RET); } else if (MainMenuParam.m_QuestStamina != 0 && UserDataAdmin.Instance.m_StructPlayer.stamina_max < MainMenuParam.m_QuestStamina) { //-------------------------------- // スタミナのMAX値が足りずクエストに入れない場合 //-------------------------------- openDialogStaminaLow(); SoundUtil.PlaySE(SEID.SE_MENU_RET); } else if (MainMenuParam.m_QuestTicket != 0 && MainMenuParam.m_QuestTicket > UserDataAdmin.Instance.m_StructPlayer.have_ticket) { //-------------------------------- // チケット対価不足 //-------------------------------- openDialogTicketLow(); SoundUtil.PlaySE(SEID.SE_MENU_RET); } else if (MainMenuParam.m_QuestStamina != 0 && UserDataAdmin.Instance.m_StructPlayer.stamina_max >= data.questMaster.consume_value && MainMenuParam.m_QuestStamina > UserDataAdmin.Instance.m_StructPlayer.stamina_now) { //-------------------------------- // スタミナが足りない場合、スタミナ回復ダイアログを表示 //-------------------------------- PacketStructUseItem item = useRecoverItem(); if (item != null) { openDialogUseItem(item); } else { //-------------------------------- // チップによる回復ルート //-------------------------------- openDialogUseStone(); } SoundUtil.PlaySE(SEID.SE_MENU_RET); } else { //-------------------------------- // 特にエラーなし。次のフローへ //-------------------------------- //成長ボス選択パラメータ設定 MainMenuParam.SetChallengeSelectParam(data.questMaster.fix_id, data.bSkip, (data.bSkip ? data.SkipLevel : data.info.challenge_level)); //成長ボスではMainMenuQuestSelectを経由しないのでAreaCategoryIDをここで設定 MasterDataArea area = MasterDataUtil.GetAreaParamFromID(data.questMaster.area_id); MainMenuParam.m_QuestSelectAreaCateID = (area != null ? area.area_cate_id : 0); MainMenuParam.m_QuestAreaAmendList = m_AreaAmendParam.m_AreaMasterDataAmendList; MainMenuParam.m_QuestSelectAreaID = data.questMaster.area_id; MainMenuParam.m_QuestSelectMissionID = data.questMaster.fix_id; if (MainMenuManager.HasInstance) { MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_FRIEND, false, false); SoundUtil.PlaySE(SEID.SE_MENU_OK); } } }
/// <summary> /// クエスト情報更新 /// </summary> /// <param name="data"></param> private void updateQuestInfo(ChallengeSelect.EventData data) { MasterDataParamChara bossMaster = MasterFinder <MasterDataParamChara> .Instance.Find((int)data.questMaster.boss_chara_id); //ボスアイコン UnitIconImageProvider.Instance.Get( data.questMaster.boss_chara_id, (sprite) => { m_ChallengeSelect.IconImage = sprite; }); //ボス属性 if (bossMaster != null) { m_ChallengeSelect.ElementImage = MainMenuUtil.GetElementCircleSprite(bossMaster.element); } //イベント名 m_ChallengeSelect.Title = data.eventMaster.title; //ボス名 if (bossMaster != null) { m_ChallengeQuestInfo.BossName = bossMaster.name; } //レベル if (data.bSkip) { m_ChallengeSelect.Level = string.Format("{0}", data.SkipLevel); } else { m_ChallengeSelect.Level = string.Format("{0}", data.info.challenge_level); } //経験値 uint exp = (uint)data.questMaster.clear_exp; string expFormat = GameTextUtil.GetText("value_colorset"); if (m_AreaAmendParam.m_QuestSelectAreaAmendEXP != 100) { // エリア補正時 exp = (uint)((float)exp * (m_AreaAmendParam.m_QuestSelectAreaAmendEXP / 100.0f)); expFormat = GameTextUtil.GetText("stmina_bahutext"); } //コイン uint coin = (uint)data.questMaster.clear_money; string coinFormat = GameTextUtil.GetText("value_colorset"); if (m_AreaAmendParam.m_QuestSelectAreaAmendCoin != 100) { // エリア補正時 coin = (uint)((float)coin * (m_AreaAmendParam.m_QuestSelectAreaAmendCoin / 100.0f)); coinFormat = GameTextUtil.GetText("stmina_bahutext"); } //消費スタミナ uint stamina = 0; string staminaFormat = GameTextUtil.GetText("value_colorset"); MainMenuParam.m_QuestStamina = 0; switch (data.questMaster.consume_type) { case 1: //スタミナ m_ChallengeQuestInfo.StaminaLabel = GameTextUtil.GetText("growth_boss_09");; stamina = (uint)data.questMaster.consume_value; break; case 2: //Key //m_ChallengeQuestInfo.StaminaLabel = "KEY"; //MainMenuParam.m_QuestKey = (uint)data.questMaster.consume_type; break; case 3: //Ticket //m_ChallengeQuestInfo.StaminaLabel = "TICKET"; //MainMenuParam.m_QuestTicket = (uint)data.questMaster.consume_type; break; } if (m_AreaAmendParam.m_QuestSelectAreaAmendStamina != 100 && stamina != 0) { // エリア補正時 stamina = (uint)((float)stamina * ((float)m_AreaAmendParam.m_QuestSelectAreaAmendStamina / 100.0f)); staminaFormat = GameTextUtil.GetText("stmina_bahutext"); //最少スタミナチェック if (stamina <= DISP_MIN_STAMINA) { stamina = DISP_MIN_STAMINA; } } MainMenuParam.m_QuestStamina = stamina; //消費チケット(成長ボスではスキップにチケットを使用する) MainMenuParam.m_QuestTicket = (data.bSkip == true ? (uint)data.UseTicket : 0); //消費キー(成長ボスではキー消費はいまのところなし) MainMenuParam.m_QuestKey = 0; //スコア情報 uint score = 0; string scoreFormat = GameTextUtil.GetText("value_colorset"); MasterDataRenewQuestScore scoreMaster = MasterFinder <MasterDataRenewQuestScore> .Instance.Find((int)data.questMaster.quest_score_id); if (scoreMaster != null) { score = (uint)scoreMaster.base_score; } if (m_AreaAmendParam.m_QuestSelectAreaAmendScore != 100) { // エリア補正時 score = (uint)((float)score * (m_AreaAmendParam.m_QuestSelectAreaAmendScore / 100.0f)); scoreFormat = GameTextUtil.GetText("stmina_bahutext"); } m_ChallengeQuestInfo.CountValue = string.Format(GameTextUtil.GetText("value_colorset"), data.questMaster.battle_count); m_ChallengeQuestInfo.ExpValue = string.Format(expFormat, exp); m_ChallengeQuestInfo.CoinValue = string.Format(coinFormat, coin); m_ChallengeQuestInfo.StaminaValue = string.Format(staminaFormat, stamina); m_ChallengeQuestInfo.ScoreValue = string.Format(scoreFormat, score); }
public void setup(ChallengeSelect.EventData data) { m_EventData = data; IsActiveCancel = data.bSkip; updateSkipList(); }