Beispiel #1
0
    protected override void Start()
    {
        base.Start();

        //----------------------------------------
        // メインメニュー関連情報リセット
        //----------------------------------------
        MainMenuParam.ParamReset();

        //----------------------------------------
        // クエスト結果を取得。
        // クエストクリア直後にハングした場合に備えてローカルセーブを参照する
        //----------------------------------------
        if (SceneGoesParam.HasInstance == true)
        {
            if (SceneGoesParam.Instance.m_SceneGoesParamToMainMenu == null)
            {
                SceneGoesParam.Instance.m_SceneGoesParamToMainMenu = LocalSaveManager.Instance.LoadFuncGoesToMenuResult();
            }

            if (SceneGoesParam.Instance.m_SceneGoesParamToMainMenuRetire == null)
            {
                SceneGoesParam.Instance.m_SceneGoesParamToMainMenuRetire = LocalSaveManager.Instance.LoadFuncGoesToMenuRetire();
            }
        }
    }
    /// <summary>
    /// エリア選択
    /// </summary>
    /// <param name="area_id"></param>
    private void SelectArea(uint area_id, bool bSE = false)
    {
        if (m_SelectAreaIndex == (int)area_id)
        {
            return;
        }

        if (bSE)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_OK);
        }

        if (m_SelectAreaIndex != -1)
        {
            m_QuestSelect.EpisodeList[m_SelectAreaIndex].SelectImage = m_UnSelectSprite;
            m_QuestSelect.EpisodeList[m_SelectAreaIndex].IsSelected  = false;
        }
        m_SelectAreaIndex = (int)area_id;

        m_QuestSelect.EpisodeList[m_SelectAreaIndex].SelectImage = m_SelectSprite;
        m_QuestSelect.EpisodeList[m_SelectAreaIndex].IsSelected  = true;

        m_QuestSelect.EpisodeTitle = m_QuestSelect.EpisodeList[m_SelectAreaIndex].master.area_name;

        setupQuest();

        m_UpdateLayoutCount = 5;

        //選択保存
        MainMenuParam.SetSaveSelectNormal(m_MasterAreaCategory.fix_id, m_QuestSelect.EpisodeList[m_SelectAreaIndex].master.fix_id);
    }
Beispiel #3
0
 private void SelectArea(uint area_id)
 {
     if (MainMenuManager.HasInstance)
     {
         MainMenuParam.SetQuestSelectParam(area_id);
         MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false);
     }
 }
 /// <summary>
 /// MAPのボタンを押したとき
 /// </summary>
 /// <param name="area_cate_id"></param>
 private void OnSelectArea(uint area_cate_id)
 {
     if (MainMenuManager.HasInstance)
     {
         SoundUtil.PlaySE(SEID.SE_MENU_OK2);
         MainMenuParam.SetQuestSelectParam(area_cate_id);
         MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false);
     }
 }
 private void OnSelectChallenge()
 {
     if (MainMenuManager.HasInstance)
     {
         SoundUtil.PlaySE(SEID.SE_MENU_OK2);
         MainMenuParam.SetChallengeSelectParam(0);
         MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_CHALLENGE_SELECT, false, false);
     }
 }
    public void SelectReturn()
    {
        if (!MainMenuManager.HasInstance)
        {
            return;
        }

        // エリアカテゴリIDの登録
        MainMenuParam.SetQuestSelectParam(m_MasterDataArea.area_cate_id, m_MasterDataArea.fix_id);

        // エリア移動
        MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false);
    }
Beispiel #7
0
    protected override void OnDestroy()
    {
        //----------------------------------------
        // メインメニュー関連情報破棄
        //----------------------------------------
        MainMenuParam.ParamReset();

        //----------------------------------------
        // BGM停止
        // ver1110でフェードアウトの尺を調整
        //----------------------------------------
        SoundUtil.StopBGM(false);

        base.OnDestroy();
    }
Beispiel #8
0
    /// <summary>
    /// WebViewから別ページに遷移
    /// </summary>
    void _ConfirmationWebView()
    {
        SoundUtil.PlaySE(SEID.SE_MENU_OK);

        MasterDataWebView master = MasterFinder <MasterDataWebView> .Instance.Find((int)m_WebViewFixID);

        if (master != null)
        {
            switch ((MasterDataDefineLabel.WebviewTransitionType)master.webview_param_4)
            {
            case MasterDataDefineLabel.WebviewTransitionType.AREAMAP:    // areamap
                MainMenuParam.m_RegionID = MasterDataUtil.GetRegionIDFromCategory(MasterDataDefineLabel.REGION_CATEGORY.STORY);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_AREA_STORY, false, false);
                break;

            case MasterDataDefineLabel.WebviewTransitionType.SCRATCH:    // scratch
                MasterDataGacha[] scratchMaster = MasterDataUtil.GetActiveGachaMaster();
                if (scratchMaster.IsNullOrEmpty() == false)
                {
                    MainMenuParam.m_GachaMaster = scratchMaster.FirstOrDefault(g => g.fix_id == master.webview_param_5);
                }
                else
                {
                    MainMenuParam.m_GachaMaster = null;
                }
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_GACHA_MAIN, false, false);
                break;

            case MasterDataDefineLabel.WebviewTransitionType.AREA:    // area
                MainMenuParam.SetQuestSelectParam(master.webview_param_5, master.webview_param_6);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false, false);
                break;

            case MasterDataDefineLabel.WebviewTransitionType.CHIP:    // chip
                StoreDialogManager.Instance.OpenBuyStone();
                break;

            case MasterDataDefineLabel.WebviewTransitionType.POINTSHOP:    // point shop
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_SHOP_POINT, false, false);
                break;

            default:
                break;
            }
        }

        WebViewEnd();
    }
Beispiel #9
0
    public void OnClick()
    {
        if (ButtonBlocker.Instance.IsActive())
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK);

#if BUILD_TYPE_DEBUG
        Debug.Log("CALL Banner#OnClick:" + gameObject.name + " link:" + Context.link);
#endif
        if (Context.link.StartsWith("http"))
        {
            URLManager.OpenURL(Context.link);
            return;
        }
        else
        {
            switch (Context.JumpToInApp_Place)
            {
            case "areamap":
                MainMenuParam.m_RegionID = MasterDataUtil.GetRegionIDFromCategory(MasterDataDefineLabel.REGION_CATEGORY.STORY);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_AREA_STORY, false, false);
                break;

            case "scratch":
                MainMenuParam.m_GachaMaster = MasterDataUtil.GetActiveGachaMaster().FirstOrDefault(g => g.fix_id == Context.JumpToInApp_Id);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_GACHA_MAIN, false, false);
                break;

            case "area":
                MainMenuParam.SetQuestSelectParam(Context.JumpToInApp_Id);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false, false);
                break;

            case "challenge":
                MainMenuParam.SetChallengeSelectParamFromEventID(Context.JumpToInApp_Id);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_CHALLENGE_SELECT, false, false, false);
                break;
            }

            return;
        }
    }
Beispiel #10
0
    /// <summary>
    /// リストが選択された時
    /// </summary>
    public void OnClickItem()
    {
        if (GlobalMenuManager.Instance.IsPageClosing() == true)
        {
            return;
        }

        if (Achievement.quest_id == 0)
        {
            return;
        }

        MasterDataQuest2 questMaster = MasterDataUtil.GetQuest2ParamFromID(Achievement.quest_id);

        if (questMaster == null)
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK);


        Dialog newDialog = Dialog.Create(DialogType.DialogYesNo);

        newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "mission_questtub_title");
        newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "mission_questtub_text");
        newDialog.SetDialogTextFromTextkey(DialogTextType.YesText, "mission_questtub_button");
        newDialog.SetDialogTextFromTextkey(DialogTextType.NoText, "common_button1");
        newDialog.SetDialogEvent(DialogButtonEventType.YES, () =>
        {
            //---------------------------------
            // クエスト詳細に遷移する
            //---------------------------------
            MainMenuParam.MoveQuestDetail(questMaster);
            // メニュー閉じる
            MainMenuManager.Instance.CloseGlobalMenu();
        });
        newDialog.SetDialogEvent(DialogButtonEventType.NO, () =>
        {
        });
        newDialog.Show();
    }
    /// <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);
    }
    // 「イベント参加ボタン」クリック時のフィードバック
    public void OnClickdAreaButton()
    {
        if (GlobalMenuManager.Instance.IsPageClosing() == true)
        {
            return;
        }

#if BUILD_TYPE_DEBUG
        Debug.Log("AreaCateId:" + AreaCateId + " AreaId:" + AreaId);
#endif
        switch (QuestType)
        {
        case MasterDataDefineLabel.QuestType.NORMAL:
        {
            // エリアカテゴリIDの登録
            MainMenuParam.SetQuestSelectParam(AreaCateId, AreaId);

            // エリア移動
            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false, true);
        }
        break;

        case MasterDataDefineLabel.QuestType.CHALLENGE:
        {
            MainMenuParam.SetChallengeSelectParamFromEventID((uint)EventId);
            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_CHALLENGE_SELECT, false, false, true);
        }
        break;
        }


        // メニュー閉じる
        MainMenuManager.Instance.CloseGlobalMenu();

        SoundUtil.PlaySE(SEID.SE_MENU_OK);
    }
    //----------------------------------------------------------------------------

    /*!
     *  @brief	基底継承:MainMenuSeq:ページ切り替えにより有効化された際に呼ばれる関数
     *  @note	ページのレイアウト再構築を兼ねる
     */
    //----------------------------------------------------------------------------
    protected override void PageSwitchSetting(bool initalize)
    {
        base.PageSwitchSetting(initalize);

        //--------------------------------
        // 情報破棄
        //
        // リソースの参照が残ると破棄処理で抜けが生じるので
        // ページを無効にしたタイミングでも破棄するよう対応してる
        //--------------------------------
        //--------------------------------
        // オブジェクト破棄
        //--------------------------------
        if (m_AssetAutoSetBefore != null)
        {
            m_AssetAutoSetBefore.DestroyCharaMesh();
        }
        if (m_AssetAutoSetAfter != null)
        {
            m_AssetAutoSetAfter.DestroyCharaMesh();
        }

        //--------------------------------
        // 進行情報クリア
        //--------------------------------
        m_WorkStep       = STEP_000_START;
        m_WorkStepDelta  = 0;
        m_WorkStepTriger = true;
        m_CharaMeshAnim.ResetAnimation();

        //----------------------------------------
        // パッチ処理を行わないようにする.
        //----------------------------------------
        MainMenuManager.Instance.m_ResumePatchUpdateRequest = false;

        //--------------------------------
        // 進化前後のユニット情報を取得
        //--------------------------------
        PacketStructUnit cEvolUnit     = MainMenuParam.m_EvolveBaseAfter;
        PacketStructUnit cEvolUnitPrev = MainMenuParam.m_EvolveBaseBefore;

        if (cEvolUnit == null ||
            cEvolUnitPrev == null
            )
        {
            Debug.LogError("Evol Unit Error!!");
            //とりあえずホームへ
            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_HOME_MENU, false, false);
            return;
        }

        //--------------------------------
        // 選択されているユニット情報を選定
        //--------------------------------
        uint unCharaMasterDataID     = cEvolUnit.id;        // 進化後
        uint unCharaMasterDataIDPrev = cEvolUnitPrev.id;    // 新化前

        MasterDataParamChara cCharaMasterData     = MasterDataUtil.GetCharaParamFromID(unCharaMasterDataID);
        MasterDataParamChara cCharaMasterDataPrev = MasterDataUtil.GetCharaParamFromID(unCharaMasterDataIDPrev);

        if (cCharaMasterData == null || cCharaMasterDataPrev == null)
        {
            Debug.LogError("SelectUnit MasterData Is None! - " + unCharaMasterDataID);
            return;
        }
        // 表示ユニット情報を設定
        //MainMenuParam.SetCharaDetailParam( cEvolUnit );
        m_UnitNamePanel.setup(cCharaMasterDataPrev);

        // リンクユニット情報取得
        PacketStructUnit cLinkUnit = CharaLinkUtil.GetLinkUnit(cEvolUnit);

        // 表示ユニット情報を設定
        MainMenuParam.SetCharaDetailParam(cEvolUnit, cLinkUnit);

        //----------------------------------------
        // キャラメッシュ生成
        //----------------------------------------
        {
            // 新化前ユニット
            if (m_AssetAutoSetBefore == null)
            {
                m_AssetAutoSetBefore = m_ReferObject[OBJECT_CHARA_MESH_BEFORE].AddComponent <AssetAutoSetCharaMesh>();
                m_AssetAutoSetBefore.m_AssetBundleMeshScaleUp  = true;
                m_AssetAutoSetBefore.m_AssetBundleMeshPosition = true;
            }
            m_AssetAutoSetBefore.SetCharaID(unCharaMasterDataIDPrev, true);
            // 進化後ユニット
            if (m_AssetAutoSetAfter == null)
            {
                m_AssetAutoSetAfter = m_ReferObject[OBJECT_CHARA_MESH_AFTER].AddComponent <AssetAutoSetCharaMesh>();
                m_AssetAutoSetAfter.m_AssetBundleMeshScaleUp  = true;
                m_AssetAutoSetAfter.m_AssetBundleMeshPosition = true;
            }
            m_AssetAutoSetAfter.SetCharaID(unCharaMasterDataID, true);
        }

        {
            TemplateList <uint> cPartsUnitIDList = new TemplateList <uint>();
            for (int i = 0; i < MainMenuParam.m_EvolveParts.m_BufferSize; i++)
            {
                cPartsUnitIDList.Add(MainMenuParam.m_EvolveParts[i].id);
            }

            m_EvolCutinParts = new MainMenuCutin[cPartsUnitIDList.m_BufferSize];
            for (int i = 0; i < cPartsUnitIDList.m_BufferSize; i++)
            {
                m_EvolCutinParts[i] = new MainMenuCutin();
                m_EvolCutinParts[i].Setup(m_ReferObject[OBJECT_CUTIN_PARENT], cPartsUnitIDList[i], MainMenuDefine.CUTIN_OBJ_TYPE_COST);
            }
        }

        //----------------------------------------
        // とりあえず非表示へ
        //----------------------------------------
        m_LayoutWindow.SetLayoutAllDisable();
        m_LayoutEvolve.SetLayoutAllDisable();
        m_LayoutCategory.SetLayoutAllDisable();

        //遷移ボタン非表示
        m_UnitResultButton.IsActiveButton1 = false;
        m_UnitResultButton.IsActiveButton2 = false;
    }
Beispiel #14
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	基底継承:MainMenuSeq:ページ切り替えにより有効化された際に呼ばれる関数
     *          @note	ページのレイアウト再構築を兼ねる
     */
    //----------------------------------------------------------------------------
    protected override void PageSwitchSetting(bool initalize)
    {
        base.PageSwitchSetting(initalize);

        //--------------------------------
        // 情報破棄
        //
        // リソースの参照が残ると破棄処理で抜けが生じるので
        // ページを無効にしたタイミングでも破棄するよう対応してる
        //--------------------------------
        //--------------------------------
        // オブジェクト破棄
        //--------------------------------
        if (m_AssetAutoSet != null)
        {
            m_AssetAutoSet.DestroyCharaMesh();
        }

        //--------------------------------
        // リンク情報クリア
        //--------------------------------
        m_WorkStep       = STEP_000_START;
        m_WorkStepDelta  = 0;
        m_WorkStepTriger = true;


        //--------------------------------
        // Bugweb:5925 関連
        // アチーブメント達成演出をスキップされる可能性を考慮しアチーブメント取得フラグONにしとく。
        //  フラグをONにすることで、次回、ミッション画面に遷移したとき、
        //  ローカルで保持してるアチーブメントマスタのリスト情報を破棄し、新しく一からマスタを取得し直すようになる。
        //--------------------------------
        if (MainMenuParam.m_AchievementListGet == false)
        {
            MainMenuParam.m_AchievementListGet = true;
        }

        //--------------------------------
        // リンク前後の情報を保持しておく
        //--------------------------------
        PacketStructUnit UnitBefore = new PacketStructUnit();   //!< ユニット情報:リンク前
        PacketStructUnit UnitAfter  = new PacketStructUnit();   //!< ユニット情報:リンク後

        UnitBefore.Copy(MainMenuParam.m_LinkBaseBefore);
        UnitAfter.Copy(MainMenuParam.m_LinkBaseAfter);
        MasterDataParamChara m_UnitMasterData = MasterDataUtil.GetCharaParamFromID(UnitAfter.id);       //!< ユニット情報:マスターデータ

        m_UnitNamePanel.setup(m_UnitMasterData);


        UnitBefore.add_hp         = UnitAfter.add_hp;
        UnitBefore.add_pow        = UnitAfter.add_pow;
        UnitBefore.link_unique_id = UnitAfter.link_unique_id;

        //--------------------------------
        // リンク先のユニット情報を取得する
        //--------------------------------
        PacketStructUnit cLinkUnit = CharaLinkUtil.GetLinkUnit(UnitBefore.link_unique_id);

        //----------------------------------------
        // 初期情報としてリンク前のユニット情報を表示
        //----------------------------------------
        // 表示ユニット情報を設定
        MainMenuParam.SetCharaDetailParam(UnitBefore, cLinkUnit);

        //----------------------------------------
        // キャラメッシュ生成
        //----------------------------------------
        if (m_AssetAutoSet == null)
        {
            m_AssetAutoSet = m_ReferObject[OBJECT_CHARA_MESH].AddComponent <AssetAutoSetCharaMesh>();
            m_AssetAutoSet.m_AssetBundleMeshScaleUp  = true;
            m_AssetAutoSet.m_AssetBundleMeshPosition = true;
        }
        m_AssetAutoSet.SetCharaID(m_UnitMasterData.fix_id, true);

        //----------------------------------------
        // カットインオブジェクト生成
        //----------------------------------------
        //--------------------------------
        // リンクユニット
        //--------------------------------
        m_CutinLink = new MainMenuCutin();
        m_CutinLink.Setup(m_ReferObject[OBJECT_CUTIN_PARENT], MainMenuParam.m_LinkUnit.id, MainMenuDefine.CUTIN_OBJ_TYPE_FIX);

        //--------------------------------
        // 素材ユニット
        //--------------------------------
        if (MainMenuParam.m_LinkParts != null &&
            MainMenuParam.m_LinkParts.m_BufferSize > 0)
        {
            m_CutinParts = new MainMenuCutin[MainMenuParam.m_LinkParts.m_BufferSize];
            for (int i = 0; i < MainMenuParam.m_LinkParts.m_BufferSize; i++)
            {
                m_CutinParts[i] = new MainMenuCutin();
                m_CutinParts[i].Setup(m_ReferObject[OBJECT_CUTIN_PARENT], MainMenuParam.m_LinkParts[i].id, MainMenuDefine.CUTIN_OBJ_TYPE_COST);
            }
        }

        //----------------------------------------
        // とりあえず非表示へ
        //----------------------------------------
        m_LayoutCategory.SetLayoutAllDisable();
        m_LayoutWindow.SetLayoutAllDisable();

        //遷移ボタンOFF
        m_UnitResultButton.IsActiveButton1 = false;
        m_UnitResultButton.IsActiveButton2 = false;

        // ロゴ情報
        for (int i = 0; i < m_AnimationShotLogo.Length; i++)
        {
            if (m_AnimationShotLogo[i] == null)
            {
                continue;
            }
            UnityUtil.SetObjectEnabled(m_AnimationShotLogo[i].gameObject, false);
        }
    }
Beispiel #15
0
    /// <summary>
    /// メニュー選択
    /// </summary>
    /// <param name="type"></param>
    public void OnTouchMenu(FOOTER_MENU_TYPE type)
    {
        bool bChange = false;

        if (MainMenuManager.HasInstance)
        {
            if (m_CurrentMenuType == type &&
                MainMenuManager.Instance.CheckPageActive(seqList[(int)type]))
            {
                if (IsSubMenuOpened())
                {
                    closeSubMenu();
                }

                return;
            }

            switch (type)
            {
            case FOOTER_MENU_TYPE.UNITS:
                if (m_FooterSubMenu != null &&
                    m_FooterSubMenu.Category == MAINMENU_CATEGORY.UNIT)
                {
                    SoundUtil.PlaySE(SEID.SE_MENU_RET);
                }
                else
                {
                    SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_UNIT);
                }

                openSubMenu(type, MAINMENU_CATEGORY.UNIT);
                break;

            case FOOTER_MENU_TYPE.SHOP:
                if (m_FooterSubMenu != null &&
                    m_FooterSubMenu.Category == MAINMENU_CATEGORY.SHOP)
                {
                    SoundUtil.PlaySE(SEID.SE_MENU_RET);
                }
                else
                {
                    SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_SHOP);
                }

                openSubMenu(type, MAINMENU_CATEGORY.SHOP);
                break;

            case FOOTER_MENU_TYPE.QUEST:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_QUEST);

                //クエスト選択画面と成長ボス選択画面以外は選択保存情報へ遷移
                if (MainMenuManager.Instance.WorkSwitchPageNow != MAINMENU_SEQ.SEQ_QUEST_SELECT &&
                    MainMenuManager.Instance.WorkSwitchPageNow != MAINMENU_SEQ.SEQ_CHALLENGE_SELECT)
                {
                    //選択保存情報へ遷移
                    bChange = MainMenuParam.SetupSaveSelect();
                }

                if (bChange == false)
                {
                    //失敗した場合はデフォルト位置へ
                    MainMenuParam.m_RegionID = MasterDataUtil.GetRegionIDFromCategory(MasterDataDefineLabel.REGION_CATEGORY.STORY);
                    bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                }
                closeSubMenu();
            }
            break;

            case FOOTER_MENU_TYPE.SCRATCH:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_SCRATCH);

                MainMenuParam.m_GachaMaster = null;
                MasterDataGacha[] gachaArray = MasterDataUtil.GetActiveGachaMaster();
                if (gachaArray != null && gachaArray.Length > 0)
                {
                    MainMenuParam.m_GachaMaster = gachaArray[0];
                }

                bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                closeSubMenu();
            }
            break;

            case FOOTER_MENU_TYPE.HOME:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_HOME);
                bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                closeSubMenu();
            }
            break;
            }
        }
        else
        {
            if (m_CurrentMenuType == type)
            {
                if (IsSubMenuOpened())
                {
                    closeSubMenu();
                }

                return;
            }
            bChange = true;
        }

        if (bChange)
        {
            setMenuType(type);
        }
    }
    /// <summary>
    /// API結果:成功:ユーザー削除
    /// </summary>
    void SendUserRenewSuccess(ServerApi.ResultData _data)
    {
        //----------------------------------------
        // 情報反映
        //----------------------------------------
#if BUILD_TYPE_DEBUG
        Debug.LogError("UUID Renew : " + m_RenewUUID);
#endif

        //----------------------------------------
        // ローカルセーブを破棄して再構築
        //----------------------------------------
        LocalSaveManager.LocalSaveRenew(false, false);

        //----------------------------------------
        // FoxSDKの仕様による進行不可回避
        //----------------------------------------
#if BUILD_TYPE_DEBUG
        Debug.Log("FoxSDK Safety");
#endif
        LocalSaveManager.Instance.SaveFuncInformationOK(LocalSaveManager.AGREEMENT.FOX_CALLED);

        //----------------------------------------
        // UUID記憶
        //----------------------------------------
        LocalSaveManager.Instance.SaveFuncUUID(m_RenewUUID);
        LocalSaveManager.Instance.SaveFuncTitleUUID();

        UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvRenewUser>(UserDataAdmin.Instance.m_StructPlayer);
        UserDataAdmin.Instance.m_StructSystem = _data.GetResult <RecvRenewUser>().result.system;
        UserDataAdmin.Instance.ConvertPartyAssing();

        //----------------------------------------
        // メインメニューパラメータクリア
        //----------------------------------------
        MainMenuParam.ParamReset();
        MainMenuHeader.ParamReset();
        ResidentParam.ParamResetUserRenew();

        //----------------------------------------
        // 共有パラメータクリア
        //----------------------------------------
        if (UserDataAdmin.Instance != null)
        {
            UserDataAdmin.Instance.ParamReset();
        }

        MainMenuManager.s_LastLoginTime = 0;

        // 完了ダイアログ
        Dialog newDialog = Dialog.Create(DialogType.DialogOK);
        newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "he179q_title");
        newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "he179q_content");
        newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
        newDialog.SetDialogEvent(DialogButtonEventType.OK, new System.Action(() =>
        {
            LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.GUARD);

            StartCoroutine(SQLiteClient.Instance.LocalSqlite3ClearExec(() =>
            {
                LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD);
                //----------------------------------------
                // 初回起動時の動作を想定してタイトルに戻る
                //----------------------------------------
                SceneCommon.Instance.GameToTitle();
            }));
        }));
        newDialog.EnableFadePanel();
        newDialog.DisableCancelButton();
        newDialog.Show();
    }
    /// <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);
            }
        }
    }
Beispiel #18
0
    private void OnSelectKey(ItemKeyContext _key)
    {
        SoundUtil.PlaySE(SEID.SE_MENU_OK);

        string item_name = "";
        string move_pos  = "";

        switch (_key.Category)
        {
        case ItemKeyContext.CategoryType.FriendPoint:
            item_name = GameTextUtil.GetText("common_text1");
            move_pos  = GameTextUtil.GetText("common_text7");
            break;

        case ItemKeyContext.CategoryType.UnitPoint:
            item_name = GameTextUtil.GetText("common_text2");
            move_pos  = GameTextUtil.GetText("common_text8");
            break;

        case ItemKeyContext.CategoryType.ScratchTicket:
            item_name = _key.itemMaster.item_name;
            move_pos  = GameTextUtil.GetText("common_text7");
            break;

        case ItemKeyContext.CategoryType.QuestKey:
            item_name = _key.keyMaster.key_name;
            move_pos  = GameTextUtil.GetText("common_text9");
            break;
        }
        Dialog _newDialog = Dialog.Create(DialogType.DialogYesNo);

        _newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "mm54q_title");
        string mainFormat = GameTextUtil.GetText("mm54q_content1");

        _newDialog.SetDialogText(DialogTextType.MainText, string.Format(mainFormat, item_name, move_pos));
        _newDialog.SetDialogEvent(DialogButtonEventType.YES, () =>
        {
            switch (_key.Category)
            {
            case ItemKeyContext.CategoryType.FriendPoint:
                MainMenuParam.m_GachaMaster = MasterDataUtil.GetActiveFriendGachaMaster();
                MainMenuManager.Instance.SetResetSubTabFlag();
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_GACHA_MAIN, false, false);
                MainMenuManager.Instance.CloseGlobalMenu();
                break;

            case ItemKeyContext.CategoryType.UnitPoint:
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_SHOP_POINT, false, false);
                MainMenuManager.Instance.CloseGlobalMenu();
                break;

            case ItemKeyContext.CategoryType.ScratchTicket:
                MainMenuParam.m_GachaMaster = MasterDataUtil.GetActiveItemPointGachaMaster(_key.itemMaster.fix_id);
                MainMenuManager.Instance.SetResetSubTabFlag();
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_GACHA_MAIN, false, false);
                MainMenuManager.Instance.CloseGlobalMenu();
                break;

            case ItemKeyContext.CategoryType.QuestKey:
                MainMenuParam.SetQuestSelectParam(_key.keyMaster.key_area_category_id);
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false, false);
                MainMenuManager.Instance.CloseGlobalMenu();
                break;
            }
        });
        _newDialog.SetDialogTextFromTextkey(DialogTextType.YesText, "common_button4");
        _newDialog.SetDialogTextFromTextkey(DialogTextType.NoText, "common_button5");
        _newDialog.DisableCancelButton();
        _newDialog.Show();
    }
Beispiel #19
0
    public new void Update()
    {
        if (PageSwitchUpdate() == false)
        {
            return;
        }

        if (m_ErrorDialog != null)
        {
            if (m_ErrorDialog.PushButton != DialogButtonEventType.NONE)
            {
                m_PageSwitchNext = true;

                m_ErrorDialog.Hide();
                m_ErrorDialog = null;
            }
        }

        if (m_PageSwitchNext)
        {
            if (MainMenuManager.s_LastLoginTime == 0)
            {
                //クエスト中断から開始してログインパックを取得していないときは
                //ログインパック取得遷移へ
                MainMenuParam.m_DateChangeType = DATE_CHANGE_TYPE.LOGIN;
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_DATE_CHANGE, false, false);
            }
            else if (m_AreaMaster != null)
            {
                switch (MasterDataUtil.GetQuestType(m_QuestId))
                {
                case MasterDataDefineLabel.QuestType.NORMAL:
                {
                    //クエスト選択に戻る
                    MainMenuParam.SetQuestSelectParam(m_AreaMaster.area_cate_id, m_AreaMaster.fix_id);
                    if (MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT, false, false, true))
                    {
                        m_PageSwitchNext = false;
                    }
                }
                break;

                case MasterDataDefineLabel.QuestType.CHALLENGE:
                {
                    //成長ボス選択に戻る
                    MainMenuParam.SetChallengeSelectParam(m_QuestId);
                    if (MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_CHALLENGE_SELECT, false, false))
                    {
                        m_PageSwitchNext = false;
                    }
                }
                break;

                default:
                {
                    //ホームに戻る
                    if (MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_HOME_MENU, false, false))
                    {
                        m_PageSwitchNext = false;
                    }
                }
                break;
                }
            }
            else
            {
                //ホームに戻る
                if (MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_HOME_MENU, false, false))
                {
                    m_PageSwitchNext = false;
                }
            }
        }
    }