Ejemplo n.º 1
0
    //------------------------------------------------------------------------

    /*!
     *          @brief		初期化処理
     */
    //------------------------------------------------------------------------
    protected override void Start()
    {
        base.Start();
        if (SceneModeContinuousBattle.Instance != null)
        {
            MasterDataQuest2 master = MasterDataUtil.GetQuest2ParamFromID(SceneModeContinuousBattle.Instance.m_QuestMissionID);
            if (master != null)
            {
                if (m_InGameMenuQuest2 != null)
                {
                    m_QuestName = master.quest_name;
                }

                if (master.enable_autoplay != MasterDataDefineLabel.BoolType.ENABLE)
                {
                    // オートプレイ禁止でなければ、オートプレイボタンの初期状態を設定(出撃画面での設定値を反映)
                    LocalSaveOption cOption      = LocalSaveManager.Instance.LoadFuncOption();
                    bool            is_auto_play = (cOption.m_OptionAutoPlayEnable == (int)LocalSaveDefine.OptionAutoPlayEnable.ON);
                    if (is_auto_play)
                    {
                        BattleParam.setAutoPlayState(BattleParam.AutoPlayState.ON);
                    }
                    else
                    {
                        BattleParam.setAutoPlayState(BattleParam.AutoPlayState.OFF);
                    }
                }
                else
                {
                    // オートプレイ禁止
                    BattleParam.setAutoPlayState(BattleParam.AutoPlayState.NONE);
                }
            }
        }
    }
Ejemplo n.º 2
0
    private void sendQuestRetire()
    {
        m_PageSwitchNext = false;
        m_QuestId        = SceneGoesParam.Instance.m_SceneGoesParamToMainMenuRetire.m_QuestID;
        bool is_auto_play = SceneGoesParam.Instance.m_SceneGoesParamToMainMenuRetire.m_IsUsedAutoPlay;

        m_QuestMaster = MasterDataUtil.GetQuest2ParamFromID(m_QuestId);
        if (m_QuestMaster != null)
        {
            m_AreaMaster = MasterFinder <MasterDataArea> .Instance.Find((int)m_QuestMaster.area_id);
        }

        //--------------------------------
        // ローカルセーブにあるリザルト情報を破棄
        //--------------------------------
        LocalSaveManager.Instance.SaveFuncGoesToMenuRetire(null);

        switch (MasterDataUtil.GetQuestType(m_QuestId))
        {
        case MasterDataDefineLabel.QuestType.NORMAL:
        {
            ServerDataUtilSend.SendPacketAPI_QuestRetire(m_QuestId, is_auto_play)
            .setSuccessAction(_data =>
                {
                    resultSuccess(_data);
                })
            .setErrorAction(_data =>
                {
                    resultError(_data);
                })
            .SendStart();
        }
        break;

        case MasterDataDefineLabel.QuestType.CHALLENGE:
        {
            ServerDataUtilSend.SendPacketAPI_ChallengeQuestRetire(m_QuestId, is_auto_play)
            .setSuccessAction(_data =>
                {
                    resultSuccess(_data);
                })
            .setErrorAction(_data =>
                {
                    resultError(_data);
                })
            .SendStart();
        }
        break;

        default:
            //Home画面へ
            m_PageSwitchNext = true;
            break;
        }
    }
Ejemplo n.º 3
0
    static public bool MoveQuestDetail(MasterDataQuest2 quest2Master)
    {
        if (quest2Master == null)
        {
            return(false);
        }

        MasterDataArea areaMaster = MasterFinder <MasterDataArea> .Instance.Find((int)quest2Master.area_id);

        MainMenuQuestSelect.AreaAmendParam areaAmendParam = MainMenuUtil.CreateAreaParamAmend(areaMaster);

        MainMenuParam.m_QuestStamina = 0;
        MainMenuParam.m_QuestKey     = 0;
        MainMenuParam.m_QuestTicket  = 0;
        switch (quest2Master.consume_type)
        {
        case 1:
            if (areaAmendParam.m_QuestSelectAreaAmendStamina == 100)
            {
                MainMenuParam.m_QuestStamina = (uint)quest2Master.consume_value;
            }
            else
            {
                uint point = (uint)((float)quest2Master.consume_value * ((float)areaAmendParam.m_QuestSelectAreaAmendStamina / 100.0f));
                MainMenuParam.m_QuestStamina = point;
            }
            break;

        case 2:
            MainMenuParam.m_QuestKey = (uint)quest2Master.consume_value;
            break;

        case 3:
            MainMenuParam.m_QuestTicket = (uint)quest2Master.consume_value;
            break;
        }

        if (MainMenuManager.HasInstance)
        {
            MainMenuParam.m_QuestSelectAreaID     = areaMaster.fix_id;
            MainMenuParam.m_QuestSelectMissionID  = quest2Master.fix_id;
            MainMenuParam.m_QuestAreaAmendList    = areaAmendParam.m_AreaMasterDataAmendList;
            MainMenuParam.m_QuestStaminaAmend     = (float)areaAmendParam.m_QuestSelectAreaAmendStamina / 100.0f;
            MainMenuParam.m_QuestSelectAreaCateID = areaMaster.area_cate_id;
            m_jmpQuestSelectAreaCateID            = areaMaster.area_cate_id;
            m_jmpQuestSelectAreaID = areaMaster.fix_id;

            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_DETAIL, false, false, true);
        }

        return(true);
    }
Ejemplo n.º 4
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();
    }
Ejemplo n.º 5
0
    //----------------------------------------------------------------------------

    /*!
     *      @brief		新クエスト情報セットアップ
     *      @param[in]	uint		(unQuestID)		クエストID
     *      @retval		bool		[正常終了/エラー]
     */
    //----------------------------------------------------------------------------
    public bool Quest2Setup(uint unQuestID)
    {
        MasterDataQuest2 assign = MasterDataUtil.GetQuest2ParamFromID(unQuestID);

        if (assign == null)
        {
            return(false);
        }

        // クエストクリア時の獲得データ情報を受け取る
        m_InGameEXP   = assign.clear_exp;
        m_InGameMoney = assign.clear_money;
        //		m_InGameTicket = assign.clear_ticket;

        // フラグ等のリセット
        m_InGameClear  = false;
        m_InGameRetire = false;

        return(true);
    }
    private void setupFriend()
    {
        List<FriendDataSetting> friendList = new List<FriendDataSetting>();

        MasterDataQuest2 cQuestMasterData = MasterDataUtil.GetQuest2ParamFromID(MainMenuParam.m_QuestSelectMissionID);
        uint requirement_id = 0;
        if (cQuestMasterData != null)
        {
            requirement_id = cQuestMasterData.quest_requirement_id;
        }

        CreateFriendList(ref friendList, requirement_id);

        setupFriendList(ref friendList);

        m_FriendList.FriendBaseList.Body = friendList;

        m_FriendList.SetUpSortData(LocalSaveManager.Instance.LoadFuncSortFilterQuestFriend());
        m_FriendList.OnClickSortButtonAction = OnClockSortButton;
        m_FriendList.OnClickReloadButtonAction = OnClickReloadButton;
        m_FriendList.Init();
    }
Ejemplo n.º 7
0
    /// <summary>
    /// クエストIDからリージョンIDを探す
    /// </summary>
    /// <param name="quest_id"></param>
    /// <returns></returns>
    public static uint getAreaCategoryIDFromQuestID(uint quest_id)
    {
        uint area_category_id = 0;

        MasterDataQuest2 master_data_quest = MasterDataUtil.GetQuest2ParamFromID(quest_id);

        if (master_data_quest != null)
        {
            MasterDataArea master_data_area = MasterFinder <MasterDataArea> .Instance.Find((int)master_data_quest.area_id);

            if (master_data_area != null)
            {
                MasterDataAreaCategory master_data_area_category = MasterFinder <MasterDataAreaCategory> .Instance.Find((int)master_data_area.area_cate_id);

                if (master_data_area_category != null)
                {
                    area_category_id = master_data_area_category.fix_id;
                }
            }
        }

        return(area_category_id);
    }
Ejemplo n.º 8
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	固定パーティ情報で上書き
     */
    //----------------------------------------------------------------------------
    private void FixPartyAssign(ref UserDataUnitParam[] acUnitParam, uint unMissonID)
    {
        MasterDataQuest2 quest_param = MasterDataUtil.GetQuest2ParamFromID(unMissonID);

        if (quest_param == null)
        {
            return;
        }

        MasterDataQuestRequirement requirement_param = MasterDataUtil.GetMasterDataQuestRequirementFromID(quest_param.quest_requirement_id);

        if (requirement_param == null)
        {
            return;
        }

        //	書き換え:リーダーユニット
        FixUnitAssign(ref acUnitParam[(int)GlobalDefine.PartyCharaIndex.LEADER], GlobalDefine.PartyCharaIndex.LEADER, requirement_param);
        FixUnitAssign(ref acUnitParam[(int)GlobalDefine.PartyCharaIndex.MOB_1], GlobalDefine.PartyCharaIndex.MOB_1, requirement_param);
        FixUnitAssign(ref acUnitParam[(int)GlobalDefine.PartyCharaIndex.MOB_2], GlobalDefine.PartyCharaIndex.MOB_2, requirement_param);
        FixUnitAssign(ref acUnitParam[(int)GlobalDefine.PartyCharaIndex.MOB_3], GlobalDefine.PartyCharaIndex.MOB_3, requirement_param);
        FixUnitAssign(ref acUnitParam[(int)GlobalDefine.PartyCharaIndex.FRIEND], GlobalDefine.PartyCharaIndex.FRIEND, requirement_param);
    }
Ejemplo n.º 9
0
    private void setupQuest()
    {
        m_QuestSelect.isEndShowList = false;
        m_QuestSelect.QuestList.Clear();
        m_questButtons.Clear();

        if (m_SelectAreaIndex >= m_QuestSelect.EpisodeList.Count)
        {
            return;
        }

        EpisodeDataContext episodeData = m_QuestSelect.EpisodeList[m_SelectAreaIndex];

        MasterDataArea areaMaster = episodeData.master;

        if (areaMaster == null)
        {
            return;
        }

        List <MasterDataQuest2> quest2List = MasterFinder <MasterDataQuest2> .Instance.SelectWhere("where area_id = ?", areaMaster.fix_id);

        quest2List.Sort((a, b) => (int)a.fix_id - (int)b.fix_id);
        MasterDataQuest2[] quest2Array = quest2List.ToArray();
        if (quest2Array == null)
        {
            return;
        }

        MainMenuParam.m_QuestStaminaAmend = (float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f;

        //クエストリスト更新
        {
            uint _count         = 0;
            uint _notClearCount = 0;
            bool bSkip          = false;
            for (int i = 0; i < quest2Array.Length; i++)
            {
                uint             _index        = _count;
                MasterDataQuest2 _masterQuest2 = quest2Array[i];

                if (_masterQuest2.active != MasterDataDefineLabel.BoolType.ENABLE)
                {
                    continue;
                }

                if (_masterQuest2.story != 0 && _notClearCount != 0)
                {
                    //未クリアクエスト以降のシナリオはスキップ
                    bSkip = true;
                }
                else if (_masterQuest2.story == 0 &&
                         !ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_clear, quest2Array[i].fix_id))
                {
                    //1つめの未クリアは表示
                    if (_notClearCount != 0)
                    {
                        bSkip = true;
                    }

                    _notClearCount++;
                }

                if (bSkip)
                {
                    continue;
                }

                var model = new ListItemModel(_index);
                model.OnClicked += () =>
                {
                    SelectQuest(_index);
                };
                m_questButtons.Add(model);

                QuestDataContext newQuest = new QuestDataContext(model);
                newQuest.master           = _masterQuest2;
                newQuest.area_category_id = m_MasterAreaCategory.fix_id;
                newQuest.boss             = MasterDataUtil.GetGuerrillaBossParamFromQuestID(_masterQuest2.fix_id);
                newQuest.m_QuestId        = _index + 1;

                if (_masterQuest2.story == 0)
                {
                    newQuest.m_QuestType = QuestDataContext.ExecType.Quest2;
                    newQuest.IconLabel   = GameTextUtil.GetText("questselect_text1");
                    {
                        //詳細情報テキスト差し替え
                        MasterDataQuestAppearance[] questAppearance = MasterFinder <MasterDataQuestAppearance> .Instance.SelectWhere("where area_category_id = ?", MainMenuParam.m_QuestSelectAreaCateID).ToArray();

                        if (questAppearance.IsNullOrEmpty() == false)
                        {
                            // newQuest.IconLabel = GameTextUtil.GetText(questAppearance[0].boss_text_key);
                            // テキストキーではなく直接テキストが入っている
                            newQuest.IconLabel = questAppearance[0].boss_text_key;
                        }
                    }
                    UnitIconImageProvider.Instance.Get(
                        _masterQuest2.boss_chara_id,
                        sprite => { newQuest.IconImage = sprite; });
                }
                else
                {
                    newQuest.m_QuestType = QuestDataContext.ExecType.Event;
                    newQuest.IconLabel   = GameTextUtil.GetText("questselect_text2");
                    newQuest.IconImage   = ResourceManager.Instance.Load("storyicon");
                }

                string titleFormat = GameTextUtil.GetText("questselect_questname1");
                if (newQuest.boss != null)
                {
                    titleFormat = GameTextUtil.GetText("questselect_questname2");
                }

                newQuest.Title       = string.Format(titleFormat, _masterQuest2.quest_name);
                newQuest.Index       = _index;
                newQuest.SelectImage = m_SelectSprite;

                //                newQuest.BackGroundTexture = m_QuestSelect.BackGroundImage.texture;

                newQuest.IsActivePoint = false;
                switch (_masterQuest2.consume_type)
                {
                case 1:    //スタミナ
                    newQuest.IsActivePoint = true;
                    newQuest.PointLabel    = GameTextUtil.GetText("questselect_text3");
                    if (episodeData.amend.m_QuestSelectAreaAmendStamina == 100)
                    {
                        newQuest.m_Point = (uint)_masterQuest2.consume_value;
                        newQuest.Point   = string.Format("{0}", _masterQuest2.consume_value);
                    }
                    else
                    {
                        uint point = (uint)((float)_masterQuest2.consume_value * ((float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f));
                        newQuest.m_Point = point;
                        newQuest.Point   = string.Format(GameTextUtil.GetText("stmina_bahutext"), point);
                    }

                    //スコア倍率アップ
                    newQuest.AmendText = "";
                    if (_masterQuest2.story == 0 &&
                        _masterQuest2.consume_value != 0 &&
                        episodeData.amend.m_FlagAmendScore)
                    {
                        float score_rate = (float)episodeData.amend.m_QuestSelectAreaAmendScore / 100.0f;
                        newQuest.AmendText = string.Format("スコア {0:0.0}倍", score_rate);
                    }
                    break;

                case 2:    //Key
                {
                    newQuest.IsActivePoint = true;
                    newQuest.m_Point       = (uint)_masterQuest2.consume_value;
                    string             strFormat  = GameTextUtil.GetText("questselect_text5");
                    MasterDataQuestKey _keyMaster = MasterDataUtil.GetMasterDataQuestKeyFromAreaCategoryID(m_MasterAreaCategory.fix_id);
                    if (_keyMaster != null)
                    {
                        newQuest.PointLabel = string.Format(strFormat, _keyMaster.key_name);
                    }
                    newQuest.Point = string.Format("{0}", _masterQuest2.consume_value);
                }
                break;

                case 3:    //Ticket
                    newQuest.IsActivePoint = true;
                    newQuest.m_Point       = (uint)_masterQuest2.consume_value;
                    newQuest.PointLabel    = GameTextUtil.GetText("questselect_text4");
                    newQuest.Point         = string.Format("{0}", _masterQuest2.consume_value);
                    break;
                }

                newQuest.SetFlag(quest2Array[i].fix_id);

                m_QuestSelect.QuestList.Add(newQuest);

                _count++;
            }

            //-------------------------------------------------
            // イベントスケジュールがあるが検索
            //-------------------------------------------------
            MasterDataEvent eventMaster = MasterDataUtil.GetMasterDataEventFromID(areaMaster.event_id);
            m_QuestSelect.m_EventMaster = eventMaster;
            if (eventMaster != null &&
                eventMaster.event_schedule_show == MasterDataDefineLabel.BoolType.ENABLE)
            {
                m_QuestSelect.IsViewDetailButton = true;
            }
            else
            {
                m_QuestSelect.IsViewDetailButton = false;
            }
        }


        // View更新
        foreach (var episodeButton in m_episodeButtons)
        {
            episodeButton.HideArrow();
        }

        // インジケーターを表示
        if (LoadingManager.Instance != null)
        {
            LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.ASSETBUNDLE);
        }
        m_QuestSelect.Show(episodeData.masterDataAreaCategory.fix_id, () =>
        {
            foreach (var questButton in m_questButtons)
            {
                questButton.Appear();
            }

            foreach (var episodeButton in m_episodeButtons)
            {
                if (episodeButton.isSelected)
                {
                    episodeButton.ShowArrow();
                }
                else
                {
                    episodeButton.HideArrow();
                }
            }
            //戻るボタン抑制解除
            SetSuspendReturn(false);

            StartCoroutine(WaitShowQuestList(() =>
            {
                m_QuestSelect.isEndShowList = true;
            }));
        }, () =>
        {
            // インジケーターを閉じる
            if (LoadingManager.Instance != null)
            {
                LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.ASSETBUNDLE);
            }
        });
    }
Ejemplo n.º 10
0
    //ページ初期化処理
    protected override void PageSwitchSetting(bool initalize)
    {
        base.PageSwitchSetting(initalize);

        //戻るボタン抑制
        SetSuspendReturn(true);

        if (m_QuestDetailBG == null)
        {
            m_QuestDetailBG = m_CanvasObj.GetComponentInChildren <QuestDetailBG>();
            m_QuestDetailBG.Load(MainMenuParam.m_QuestSelectAreaCateID);
            m_QuestDetailBG.SetPositionAjustStatusBar(new Vector2(0, -25), new Vector2(0, -215));
        }
        if (m_QuestDetailInfo == null)
        {
            m_QuestDetailInfo = m_CanvasObj.GetComponentInChildren <QuestDetailInfo>();
            m_QuestDetailInfo.SetModel(m_model);
        }
        if (m_QuestDetailMessage == null)
        {
            m_QuestDetailMessage = m_CanvasObj.GetComponentInChildren <QuestDetailMessage>();
            m_QuestDetailMessage.SetModel(m_model);
        }
        if (m_QuestDetailMission == null)
        {
            m_QuestDetailMission = m_CanvasObj.GetComponentInChildren <QuestDetailMission>();
            //m_QuestDetailMission.SetPosition(new Vector2(0, 270), new Vector2(0, -546));
            m_QuestDetailMission.SetModel(m_model);
        }
        if (m_QuestDetailInfo.tab == null)
        {
            m_QuestDetailInfo.tab           = m_CanvasObj.GetComponentInChildren <QuestDetailTab>();
            m_QuestDetailInfo.tab.m_IsReady = false;
        }

        m_MasterDataAreaCategory = MasterFinder <MasterDataAreaCategory> .Instance.Find((int)MainMenuParam.m_QuestSelectAreaCateID);

        m_MasterDataArea = MasterFinder <MasterDataArea> .Instance.Find((int)MainMenuParam.m_QuestSelectAreaID);

        m_AreaAmendParam = MainMenuUtil.CreateAreaParamAmend(m_MasterDataArea);
        if (MainMenuUtil.IsRenewQuest(m_MasterDataAreaCategory))
        {
            // TODO: MasterDataQuestをコメントアウトする。問題がなければ削除する。
            //m_MasterDataQuest = null;
            m_MasterDataQuest2 = MasterDataUtil.GetQuest2ParamFromID(MainMenuParam.m_QuestSelectMissionID);
            updateQuest2Detail();
        }

        m_bReturnHome = false;

        SetUpAppearAnimation();

        MainMenuManager.Instance.currentCategory = MAINMENU_CATEGORY.QUEST;

#if BUILD_TYPE_DEBUG
        if (DebugOption.Instance.disalbeDebugMenu == false)
        {
            // デバッグ用メニューの生成
            QuestDetailDebugMenu debugMenu = QuestDetailDebugMenu.Create(m_CanvasObj.transform);
            if (debugMenu != null)
            {
                debugMenu.m_QuestDetailBG = m_QuestDetailBG;
                debugMenu.m_InitCharaID   = m_MasterDataQuest2.boss_chara_id;
                debugMenu.SetPositionAjustStatusBar(new Vector2(0, -66), new Vector2(0, -132));
            }
        }
#endif
        StartCoroutine(MainMenuWebViewShowChk.PopupWebViewStart(MainMenuWebViewShowChk.PopupWebViewType.QuestStart, MainMenuParam.m_QuestSelectMissionID));
    }
Ejemplo n.º 11
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	通信処理
     */
    //----------------------------------------------------------------------------
    private void ServerCommunicate()
    {
        //--------------------------------
        // サーバーに送る情報を構築
        //--------------------------------
        uint unQuestID    = (uint)MainMenuParam.m_QuestSelectMissionID;
        uint unQuestState = 0;

        if (MainMenuParam.m_QuestSelectAreaAmendStamina != 100)
        {
            unQuestState = (int)MasterDataDefineLabel.AmendType.STAMINA;
        }                                                                                                                           // エリア補正タイプ:補正:スタミナ半減
        else if (MainMenuParam.m_QuestSelectAreaAmendEXP != 100)
        {
            unQuestState = (int)MasterDataDefineLabel.AmendType.EXP;
        }                                                                                                                       // エリア補正タイプ:補正:経験値アップ
        else if (MainMenuParam.m_QuestSelectAreaAmendCoin != 100)
        {
            unQuestState = (int)MasterDataDefineLabel.AmendType.MONEY;
        }                                                                                                                           // エリア補正タイプ:補正:コイン
        else if (MainMenuParam.m_QuestSelectAreaAmendDrop != 100)
        {
            unQuestState = (int)MasterDataDefineLabel.AmendType.DROP;
        }                                                                                                                       // エリア補正タイプ:補正:ドロップ率
        else if (MainMenuParam.m_QuestSelectAreaAmendTicket != 100)
        {
            unQuestState = (int)MasterDataDefineLabel.AmendType.TICKET;
        }                                                                                                                           // エリア補正タイプ:補正:チケット

        //----------------------------------------
        // 選択されている助っ人を取得
        //----------------------------------------
        //		PacketStructFriend cHelper = UserDataAdmin.Instance.SearchHelper( MainMenuParam.m_QuestHelperUserID );
        PacketStructFriend cHelper = MainMenuParam.m_QuestHelper;

        if (cHelper == null)
        {
            Debug.LogError("SelectFriendNone");
            return;
        }

        //----------------------------------------
        // フレンド使用のサイクルをもとにFP発生判定。
        // ここでも使用宣言が走るので使用情報を書き込んでおく
        //----------------------------------------
        // 指定のフレンドがフレンドポイント取得可能かどうか
        // bugweb3907対応、以前はクエストの取得可能情報も得ていたが、サーバーサイドに移動し、フレンドのみ見るように
        bool bFriendPointActive = (LocalSaveManager.Instance.GetLocalSaveUseFriend(cHelper.user_id) == null);

        //----------------------------------------
        // フレンドポイント付与情報をセーブ。
        //----------------------------------------
        uint unGetFriendPt = 0;

        if (bFriendPointActive == true)
        {
            // フレンドポイントを取得
            unGetFriendPt = MainMenuUtil.GetSelectFriendPoint(cHelper, MainMenuParam.m_QuestEventFP);
        }
        LocalSaveManager.Instance.SaveFuncQuestFriendPointActive(unGetFriendPt, UserDataAdmin.Instance.m_StructPlayer.have_friend_pt);

        //----------------------------------------
        //エリア補正リストを取得
        //----------------------------------------
        TemplateList <MasterDataAreaAmend> AreaAmendList = MainMenuParam.m_QuestAreaAmendList;

        uint[] aunAreaAmendID = new uint[AreaAmendList.m_BufferSize];

        for (int cnt = 0; cnt < AreaAmendList.m_BufferSize; cnt++)
        {
            aunAreaAmendID[cnt] = AreaAmendList[cnt].fix_id;
        }


        bool             is_auto_play = false;
        MasterDataQuest2 master       = MasterDataUtil.GetQuest2ParamFromID(unQuestID);

        if (master.enable_autoplay != MasterDataDefineLabel.BoolType.ENABLE)
        {
            LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption();
            is_auto_play = (cOption.m_OptionAutoPlayEnable == (int)LocalSaveDefine.OptionAutoPlayEnable.ON);
        }

        //--------------------------------
        // API通信リクエスト発行
        //--------------------------------
        switch (MasterDataUtil.GetQuestType(unQuestID))
        {
        case MasterDataDefineLabel.QuestType.NORMAL:
        {
            ServerDataUtilSend.SendPacketAPI_Quest2Start(
                unQuestID
                , unQuestState
                , cHelper.user_id
                , cHelper.unit
                , bFriendPointActive
                , UserDataAdmin.Instance.m_StructPlayer.unit_party_current
                , MainMenuParam.m_QuestEventFP
                , (MainMenuParam.m_BeginnerBoost != null) ? (int)MainMenuParam.m_BeginnerBoost.fix_id : 0
                , aunAreaAmendID
                , is_auto_play
                , cHelper.unit_link
                )
            .setSuccessAction(_data =>
                {
                    requestSuccessQuest2(_data);
                })
            .setErrorAction(_data =>
                {
                    requestError(_data);
                })
            .SendStart();
        }
        break;

        case MasterDataDefineLabel.QuestType.CHALLENGE:
        {
            ServerDataUtilSend.SendPacketAPI_ChallengeQuestStart(
                unQuestID
                , (uint)MainMenuParam.m_ChallengeQuestLevel
                , MainMenuParam.m_bChallengeQuestSkip
                , unQuestState
                , cHelper.user_id
                , cHelper.unit
                , bFriendPointActive
                , UserDataAdmin.Instance.m_StructPlayer.unit_party_current
                , MainMenuParam.m_QuestEventFP
                , (MainMenuParam.m_BeginnerBoost != null) ? (int)MainMenuParam.m_BeginnerBoost.fix_id : 0
                , aunAreaAmendID
                , is_auto_play
                , cHelper.unit_link
                )
            .setSuccessAction(_data =>
                {
                    requestSuccessChallengeQuest(_data);
                })
            .setErrorAction(_data =>
                {
                    requestError(_data);
                })
            .SendStart();
        }
        break;

        case MasterDataDefineLabel.QuestType.NONE:
            break;

        default:
            break;
        }
    }
Ejemplo n.º 12
0
    // Update is called once per frame
    void Update()
    {
        if (DebugOptionInGame.Instance == null)
        {
            return;
        }

        if (m_TestGameManager == null)
        {
            return;
        }

        switch (m_Status)
        {
        case eStatus.API_QUEST_START:
        {
            if (DebugOptionInGame.Instance.inGameDebugDO.m_UseAPI == true)
            {
                m_HelperIndex = RandManager.GetRand(0, (uint)(UserDataAdmin.Instance.m_StructHelperList.Length - 1));
                PacketStructFriend cHelper = null;
                if (UserDataAdmin.Instance.m_StructFriendList.Length > 0 &&
                    UserDataAdmin.Instance.m_StructFriendList[0] != null)
                {
                    cHelper = UserDataAdmin.Instance.m_StructFriendList[0];
                }
                else if (UserDataAdmin.Instance.m_StructHelperList.Length > 0)
                {
                    cHelper = UserDataAdmin.Instance.m_StructHelperList[m_HelperIndex];
                }
                {
                    ServerDataUtilSend.SendPacketAPI_Quest2Start(
                        DebugOptionInGame.Instance.inGameDebugDO.m_QuestId,
                        0,
                        cHelper.user_id,
                        cHelper.unit,
                        false,
                        UserDataAdmin.Instance.m_StructPlayer.unit_party_current,
                        0,
                        0,
                        null,
                        false
                        )
                    .setSuccessAction(_data =>
                        {
                            if (SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build == null)
                            {
                                SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build = new SceneGoesParamToQuest2Build();
                            }
                            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild = _data.GetResult <RecvQuest2Start>().result.quest;
                            m_Status = eStatus.DATA_CREATE;
                        })
                    .setErrorAction(data =>
                        {
                            Debug.LogErrorFormat("[TestGameMain] Quest2Start API Error [{0}] : QuestId = {1}", data.m_PacketCode.ToString(), DebugOptionInGame.Instance.inGameDebugDO.m_QuestId.ToString());
                            m_TestGameManager.Message_text = "API Error\r\n [" + data.m_PacketCode.ToString() + "]";
                        })
                    .SendStart();
                    m_Status = eStatus.NONE;
                }
            }
            else
            {
                if (SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build == null)
                {
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build = new SceneGoesParamToQuest2Build();
                }
                {
                    MasterDataQuest2        masterDataQuest2 = MasterDataUtil.GetQuest2ParamFromID(DebugOptionInGame.Instance.inGameDebugDO.m_QuestId);
                    PacketStructQuest2Build cQuestBuild      = new PacketStructQuest2Build();
                    int floor_size = 2;
                    //----------------------------------------
                    // 最終的な構築情報を格納する領域を確保
                    //----------------------------------------
                    TemplateList <PacketStructQuest2BuildBattle> acQuestBuildBattle = new TemplateList <PacketStructQuest2BuildBattle>();
                    TemplateList <PacketStructQuest2BuildDrop>   acQuestBuildDrop   = new TemplateList <PacketStructQuest2BuildDrop>();
                    acQuestBuildBattle.Alloc(64);

                    int nFloorDataAccess = 0;
                    cQuestBuild.boss = new int[floor_size];

                    for (int i = 0; i < floor_size; i++)
                    {
                        nFloorDataAccess = (i - 1);
                        if (nFloorDataAccess < 0)
                        {
                            continue;
                        }
                        //----------------------------------------
                        //	0番目要素ダミーデータの入力
                        //----------------------------------------
                        PacketStructQuest2BuildBattle build_param_battle = new PacketStructQuest2BuildBattle();
                        if (build_param_battle != null)
                        {
                            build_param_battle.unique_id         = 0;
                            build_param_battle.enemy_list        = null;
                            build_param_battle.drop_list         = null;
                            build_param_battle.chain             = 0;
                            build_param_battle.chain_turn_offset = 0;
                            build_param_battle.bgm_id            = 0;

                            acQuestBuildBattle.Add(build_param_battle);
                        }

                        //----------------------------------------
                        // 戦闘情報を設定
                        //----------------------------------------
                        int battle_num = MasterDataUtil.GetQuest2BattleNum(masterDataQuest2.fix_id);
                        for (int j = 0; j < battle_num; j++)
                        {
                            uint enemy_group_id = MasterDataUtil.GetQuest2EnemyGroup(masterDataQuest2.fix_id, j);
                            if (enemy_group_id == 0)
                            {
                                continue;
                            }

                            MasterDataEnemyGroup acMasterGroupEnemy = ServerFogery_GetEnemyGroupFromID(enemy_group_id);
                            if (acMasterGroupEnemy == null)
                            {
                                Debug.LogError("EnemyGroup not found id = " + enemy_group_id);
                                continue;
                            }
                            CreateQuestBuildBattle(
                                i
                                , ref acQuestBuildBattle
                                , ref acQuestBuildDrop
                                , acMasterGroupEnemy
                                );
                        }
                        //----------------------------------------
                        // ボス戦闘情報を設定
                        //----------------------------------------
                        cQuestBuild.boss[i] = 0;
                        if (masterDataQuest2.boss_group_id > 0)
                        {
                            MasterDataEnemyGroup cBossEnemyGroup = ServerFogery_GetEnemyGroupFromID(masterDataQuest2.boss_group_id);
                            if (cBossEnemyGroup != null)
                            {
                                cQuestBuild.boss[i] = CreateQuestBuildBattle(
                                    i
                                    , ref acQuestBuildBattle
                                    , ref acQuestBuildDrop
                                    , cBossEnemyGroup
                                    );
                            }
                            else
                            {
                                Debug.LogError("EnemyGroup not found Boss id = " + masterDataQuest2.boss_group_id);
                            }
                        }
                    }

                    TemplateList <MasterDataParamEnemy>       e_param_list     = new TemplateList <MasterDataParamEnemy>();
                    TemplateList <MasterDataEnemyActionParam> e_act_param_list = new TemplateList <MasterDataEnemyActionParam>();
                    TemplateList <MasterDataEnemyActionTable> e_act_table_list = new TemplateList <MasterDataEnemyActionTable>();

                    for (int i = 0; i < acQuestBuildBattle.m_BufferSize; i++)
                    {
                        if (acQuestBuildBattle[i] == null)
                        {
                            continue;
                        }

                        if (acQuestBuildBattle[i].enemy_list == null)
                        {
                            continue;
                        }

                        for (int j = 0; j < acQuestBuildBattle[i].enemy_list.Length; j++)
                        {
                            if (acQuestBuildBattle[i].enemy_list[j] == 0)
                            {
                                continue;
                            }

                            MasterDataParamEnemy enemy_param = ServerForgery_GetEnemyParamFromID(acQuestBuildBattle[i].enemy_list[j]);
                            e_param_list.Add(enemy_param);

                            int[] table_id = { enemy_param.act_table1,
                                               enemy_param.act_table2,
                                               enemy_param.act_table3,
                                               enemy_param.act_table4,
                                               enemy_param.act_table5,
                                               enemy_param.act_table6,
                                               enemy_param.act_table7,
                                               enemy_param.act_table8 };

                            for (int k = 0; k < table_id.Length; k++)
                            {
                                if (table_id[k] == 0)
                                {
                                    continue;
                                }

                                MasterDataEnemyActionTable table = ServerFogery_GetEnemyActionTable(table_id[k]);
                                e_act_table_list.Add(table);

                                int[] action_id = { table.action_param_id1,
                                                    table.action_param_id2,
                                                    table.action_param_id3,
                                                    table.action_param_id4,
                                                    table.action_param_id5,
                                                    table.action_param_id6,
                                                    table.action_param_id7,
                                                    table.action_param_id8 };

                                for (int l = 0; l < action_id.Length; l++)
                                {
                                    e_act_param_list.Add(GetEnemyActionParam(action_id[l]));
                                }
                            }
                        }
                    }


                    //----------------------------------------
                    // 構築した動的要素を配列化して受け渡し
                    //----------------------------------------
                    cQuestBuild.list_drop       = acQuestBuildDrop.ToArray();
                    cQuestBuild.list_battle     = acQuestBuildBattle.ToArray();
                    cQuestBuild.list_e_param    = e_param_list.ToArray();
                    cQuestBuild.list_e_actparam = e_act_param_list.ToArray();
                    cQuestBuild.list_e_acttable = e_act_table_list.ToArray();

                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild = cQuestBuild;
                }
                m_Status = eStatus.DATA_CREATE;
            }
        }
        break;

        case eStatus.DATA_CREATE:
        {
            {
                MasterDataQuest2 masterDataQuest = MasterDataUtil.GetQuest2ParamFromID(DebugOptionInGame.Instance.inGameDebugDO.m_QuestId);
                //----------------------------------------
                // ダミーパラメータを設定
                //----------------------------------------
                if (SceneGoesParam.Instance.m_SceneGoesParamToQuest2 == null)
                {
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2 = new SceneGoesParamToQuest2();
                }
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_QuestAreaID    = masterDataQuest.area_id;
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_QuestMissionID = masterDataQuest.fix_id;
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_QuestRandSeed  = RandManager.GetRand();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_IsUsedAutoPlay = false;

                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param = new UserDataUnitParam();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param = new UserDataUnitParam();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param = new UserDataUnitParam();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param = new UserDataUnitParam();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param = new UserDataUnitParam();

                if (DebugOptionInGame.Instance.inGameDebugDO.m_DebugParty == false &&
                    UserDataAdmin.Instance != null &&
                    UserDataAdmin.Instance.m_StructHelperList.IsNullOrEmpty() != true &&
                    UserDataAdmin.Instance.m_StructPartyAssign.IsNullOrEmpty() != true)
                {
                    PacketStructFriend cHelper      = UserDataAdmin.Instance.m_StructHelperList[m_HelperIndex];
                    int nPartyCurrent               = UserDataAdmin.Instance.m_StructPlayer.unit_party_current;
                    PacketStructUnit[] acUnitStruct =
                    {
                        UserDataAdmin.Instance.m_StructPartyAssign[nPartyCurrent][0]
                        , UserDataAdmin.Instance.m_StructPartyAssign[nPartyCurrent][1]
                        , UserDataAdmin.Instance.m_StructPartyAssign[nPartyCurrent][2]
                        , UserDataAdmin.Instance.m_StructPartyAssign[nPartyCurrent][3]
                        , cHelper.unit
                    };
                    UserDataUnitParam[] acUnitParam =
                    {
                        SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param,
                        SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param,
                        SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param,
                        SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param,
                        SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param,
                    };
                    for (int i = 0; i < acUnitStruct.Length; i++)
                    {
                        if (acUnitStruct[i] != null)
                        {
                            acUnitParam[i].m_UnitDataID            = acUnitStruct[i].id;
                            acUnitParam[i].m_UnitParamLevel        = (int)acUnitStruct[i].level;
                            acUnitParam[i].m_UnitParamEXP          = (int)acUnitStruct[i].exp;
                            acUnitParam[i].m_UnitParamUniqueID     = acUnitStruct[i].unique_id;
                            acUnitParam[i].m_UnitParamLimitBreakLV = (int)acUnitStruct[i].limitbreak_lv;
                            acUnitParam[i].m_UnitParamLimitOverLV  = (int)acUnitStruct[i].limitover_lv;
                            acUnitParam[i].m_UnitParamPlusPow      = (int)acUnitStruct[i].add_pow;
                            acUnitParam[i].m_UnitParamPlusHP       = (int)acUnitStruct[i].add_hp;
                        }
                    }
                }
                else
                {
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param.m_UnitDataID     = DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara0_id;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param.m_UnitDataID     = DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara1_id;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param.m_UnitDataID     = DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara2_id;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param.m_UnitDataID     = DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara3_id;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param.m_UnitDataID     = DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara4_id;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param.m_UnitParamLevel = (int)DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara0_level;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param.m_UnitParamLevel = (int)DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara1_level;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param.m_UnitParamLevel = (int)DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara2_level;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param.m_UnitParamLevel = (int)DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara3_level;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param.m_UnitParamLevel = (int)DebugOptionInGame.Instance.inGameDebugDO.m_MasterDataDefaultParty.party_chara4_level;

                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param.m_UnitParamEXP = 100;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param.m_UnitParamEXP = 100;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param.m_UnitParamEXP = 100;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param.m_UnitParamEXP = 100;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param.m_UnitParamEXP = 100;

                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara0Param.m_UnitParamUniqueID = 1;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara1Param.m_UnitParamUniqueID = 2;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara2Param.m_UnitParamUniqueID = 3;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara3Param.m_UnitParamUniqueID = 4;
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2.m_PartyChara4Param.m_UnitParamUniqueID = 5;
                }

                LocalSaveManager.Instance.SaveFuncGoesToQuest2Start(SceneGoesParam.Instance.m_SceneGoesParamToQuest2);
                LocalSaveManager.Instance.SaveFuncGoesToQuest2Restore(null);
                DebugOptionInGame.Instance.m_Quest2Build = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild;
                SceneCommon.Instance.ChangeScene(SceneType.SceneQuest2);
            }
            m_Status = eStatus.NONE;
        }
        break;

        case eStatus.DATA_RESTORE:
        {
            {
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2        = LocalSaveManager.Instance.LoadFuncGoesToQuest2Start();
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2Restore = LocalSaveManager.Instance.LoadFuncGoesToQuest2Restore();
                if (SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build == null)
                {
                    SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build = new SceneGoesParamToQuest2Build();
                }
                SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild = DebugOptionInGame.Instance.m_Quest2Build;
                SceneCommon.Instance.ChangeScene(SceneType.SceneQuest2);
            }
            m_Status = eStatus.NONE;
        }
        break;

        default:
            break;
        }
    }
Ejemplo n.º 13
0
    public static void QuestInitialize(SceneModeContinuousBattle continuous_battle)
    {
        if (SceneGoesParam.HasInstance &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build != null &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild != null)
        {
            m_QuestBuild = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild;
        }

        loadBattlePrefab();

        m_AchievementTotalingInBattle = new AchievementTotalingInBattle();
        m_AchievementTotalingInBattle.initQuset();

        initBattleParam(continuous_battle);

        for (int idx = 0; idx < m_PlayerParty.getPartyMemberMaxCount(); idx++)
        {
            CharaOnce chara_once = m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST);
            if (chara_once != null)
            {
                chara_once.m_PartyCharaIndex = (GlobalDefine.PartyCharaIndex)idx;
            }
        }

        // プレイスコア
        m_PlayScoreInfo = new ServerDataDefine.PlayScoreInfo();
#if false //v5.1.0ではプレイスコアの機能を無効にする
        {
            // クエストスコア補正値
            int quest_base_score      = 0;
            int quest_play_score_rate = 0;

            MasterDataQuest2 master_data_quest = MasterDataUtil.GetQuest2ParamFromID(continuous_battle.m_QuestMissionID);

            // プレイスコア計算対象クエストかどうかを調べる
            if (master_data_quest != null)
            {
                uint quest_score_fix_id = master_data_quest.quest_score_id;
                MasterDataRenewQuestScore master_data_quest_score = MasterFinder <MasterDataRenewQuestScore> .Instance.Find((int)quest_score_fix_id);

                if (master_data_quest_score != null)
                {
                    quest_base_score      = master_data_quest_score.base_score;
                    quest_play_score_rate = master_data_quest_score.play_score_rate;
                }

                if (quest_play_score_rate > 0)
                {
                    if (master_data_quest.consume_type == 1)
                    {
                        if (master_data_quest.consume_value > 0)
                        {
                            m_PlayScoreInfo.setPlayScoreQuestFlag(true);
                        }
                    }
                }
            }

            // 中断復帰していない時だけ有効(なので中断復帰用のローカル保存もしていない)
            if (getRestoreData() == null &&
                m_PlayScoreInfo.isPlayScoreQuest()
                )
            {
                // プレイスコア設定値取得
                MasterDataPlayScore[] master_data_play_score_array = MasterFinder <MasterDataPlayScore> .Instance.GetAll();

                if (master_data_play_score_array.IsNullOrEmpty() == false &&
                    quest_base_score > 0 &&
                    quest_play_score_rate > 0
                    )
                {
                    m_PlayScoreInfo.init(master_data_play_score_array, quest_base_score, quest_play_score_rate);
                }
            }
        }
#endif

        BattleParam.m_MasterDataCache.CachePlayerMasterData(BattleParam.m_PlayerParty);
        BattleSceneManager.Instance.setShowHandAreaAlways(true);

        BattleSceneManager.Instance.PRIVATE_FIELD.QuestInitialize();

        return;
    }
Ejemplo n.º 14
0
    /// <summary>
    /// レコードの追加
    /// </summary>
    private void AddRecord(Category category, EventScheduleInfo data)
    {
        var contex = new EventRecordListItemContex();

        contex.FixId   = (int)data.m_MasterDataEvent.fix_id;
        contex.EventId = (int)data.m_MasterDataEvent.event_id;

        // アイコンイメージの設定

        //クエスト情報
        contex.questType = MasterDataDefineLabel.QuestType.NONE;
        //通常クエスト
        MasterDataQuest2 lastQuestMaster = MasterFinder <MasterDataQuest2> .Instance.SelectFirstWhere("where area_id = ? AND boss_chara_id > 0 AND story = 0 ORDER BY fix_id DESC"
                                                                                                      , data.m_MasterDataEvent.area_id);

        if (lastQuestMaster != null)
        {
            contex.questType = MasterDataDefineLabel.QuestType.NORMAL;
        }
        else
        {
            //成長ボスクエスト
            lastQuestMaster = MasterFinder <MasterDataChallengeQuest> .Instance.SelectFirstWhere("where area_id = ? AND boss_chara_id > 0 AND story = 0 ORDER BY fix_id DESC"
                                                                                                 , data.m_MasterDataEvent.area_id);

            if (lastQuestMaster != null)
            {
                contex.questType = MasterDataDefineLabel.QuestType.CHALLENGE;

                //タイトル差し替え
                setupChallengeTitle(data);
            }
        }

        if (lastQuestMaster == null)
        {
            // ボスが居ない場合の画像
            contex.IconImage = ResourceManager.Instance.Load("divine1", ResourceType.Common);

#if BUILD_TYPE_DEBUG
            DialogManager.Open1B_Direct("EventSchedule AddRecord",
                                        "renew_quest_masterのarea_idに下記の\nidが含まれていません。\nプランナーさんに画面を見せるか\n画面キャプチャーして報告してください。\n\n" +
                                        "area_id: " + data.m_MasterDataEvent.area_id,
                                        "common_button7", true, true).
            SetOkEvent(() =>
            {
            });
#endif
            Debug.LogError("[none x.boss_chara_id > 0]: " + data.m_MasterDataEvent.area_id);
        }
        else
        {
            UnitIconImageProvider.Instance.Get(
                lastQuestMaster.boss_chara_id,
                sprite =>
            {
                contex.IconImage = sprite;
            });
        }

        // 予約済みアイコンの設定
        if (category == Category.Furture)
        {
            LocalSaveEventNotification cEventNotification = LocalSaveManager.Instance.CheckFuncNotificationRequest((uint)data.m_MasterDataEvent.fix_id);
            if (cEventNotification != null)
            {
                contex.IsReserveBadge = cEventNotification.m_Push;
            }
        }

        // タイトル(エリア名称)表示
        contex.CaptionText01 = data.m_AreaName;

        // 枠色変更
        contex.IconColor  = this.IconColor[(int)category];
        contex.FrameColor = this.FrameColor[(int)category];

        // ボタン挙動
        contex.DidSelectItem += OnClickedRecordButton;

        // レコードの追加先の指定
        switch (category)
        {
        case Category.Active:
            // 日付表示
            contex.CaptionText02 = data.m_MasterDataEvent.timing_end != 0 ?
                                   string.Format(GameTextUtil.GetText("schedule_held_text"), TimingFormat(data.m_MasterDataEvent.timing_end, true)) : "";
            Records0.Add(contex);
            break;

        case Category.Furture:
            contex.CaptionText02 = data.m_MasterDataEvent.timing_start != 0 ?
                                   string.Format(GameTextUtil.GetText("schedule_plans_text"), TimingFormat(data.m_MasterDataEvent.timing_start)) : "";
            Records1.Add(contex);
            break;

        default:
            return;
        }
    }