//---------------------------------------------------------------------------- /*! * @brief 基底継承:MainMenuSeq:ページ切り替えにより有効化された際に呼ばれる関数 * @note ページのレイアウト再構築を兼ねる */ //---------------------------------------------------------------------------- protected override void PageSwitchSetting(bool initalize) { base.PageSwitchSetting(initalize); //-------------------------------- // ゲームからメインメニューに渡されたリザルトをサーバーに送るクラスなので、 // ここで情報が存在しないことはあり得ない。 // //-------------------------------- if (SceneGoesParam.Instance == null || SceneGoesParam.Instance.m_SceneGoesParamToMainMenu == null ) { Debug.LogError("SceneGoesParam.Instance.m_SceneGoesParamToMainMenu Instance None!"); return; } m_QuestID = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_QuestID; m_AreaID = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_AreaID; //-------------------------------- // リザルト情報を反映する前に項目を記録しておく //-------------------------------- #if BUILD_TYPE_DEBUG Debug.Log("MainMenuResultServerSend - SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_Quest2:" + SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_Quest2); Debug.Log("MainMenuResultServerSend - SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_PartyFriend:" + SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_PartyFriend); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.unit_list:" + UserDataAdmin.Instance.m_StructPlayer.unit_list); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.rank:" + UserDataAdmin.Instance.m_StructPlayer.rank); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.exp:" + UserDataAdmin.Instance.m_StructPlayer.exp); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.have_money:" + UserDataAdmin.Instance.m_StructPlayer.have_money); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.have_stone:" + UserDataAdmin.Instance.m_StructPlayer.have_stone); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.have_ticket:" + UserDataAdmin.Instance.m_StructPlayer.have_ticket); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.have_friend_pt:" + UserDataAdmin.Instance.m_StructPlayer.have_friend_pt); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.m_StructPlayer.flag_unit_get:" + UserDataAdmin.Instance.m_StructPlayer.flag_unit_get); Debug.Log("MainMenuResultServerSend - UserDataAdmin.Instance.getCurrentHero():" + UserDataAdmin.Instance.getCurrentHero()); #endif MainMenuParam.m_ResultQuest2 = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_Quest2; MainMenuParam.m_ResultPrevFriend = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_PartyFriend; MainMenuParam.m_ResultPrevUnit = UserDataAdmin.Instance.m_StructPlayer.unit_list; MainMenuParam.m_ResultPrevRank = UserDataAdmin.Instance.m_StructPlayer.rank; MainMenuParam.m_ResultPrevExp = UserDataAdmin.Instance.m_StructPlayer.exp; MainMenuParam.m_ResultPrevMoney = UserDataAdmin.Instance.m_StructPlayer.have_money; MainMenuParam.m_ResultPrevStone = UserDataAdmin.Instance.m_StructPlayer.have_stone; MainMenuParam.m_ResultPrevTicket = UserDataAdmin.Instance.m_StructPlayer.have_ticket; MainMenuParam.m_ResultPrevFriendPoint = UserDataAdmin.Instance.m_StructPlayer.have_friend_pt; MainMenuParam.m_ResultPrevUnitGetFlag = UserDataAdmin.Instance.m_StructPlayer.flag_unit_get; MainMenuParam.m_ResultPrevHero = UserDataAdmin.Instance.getCurrentHero(); MainMenuParam.m_ResultNextArea = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu.m_NextAreaCleard; if (TutorialManager.IsExists && TutorialManager.PP.IsNewUser) { MainMenuParam.m_ResultPrevRank = 1; MainMenuParam.m_ResultPrevExp = 0; } { SendEnemyKill[] enemy_kill_list = null; bool no_damage = false; int max_damage = 0; SendSkillExecCount[] active_skill_execute_count = null; int hero_skill_execute_count = 0; ServerDataDefine.PlayScoreInfo play_score_info = new PlayScoreInfo(); bool is_auto_play = false; if (!TutorialManager.IsExists) { SceneGoesParamToMainMenu _data = SceneGoesParam.Instance.m_SceneGoesParamToMainMenu; //プレイ情報を設定 no_damage = _data.m_NoDamagePlayer; max_damage = _data.m_MaxDamageToEnemy; hero_skill_execute_count = _data.m_HeroSkillUseCount; enemy_kill_list = new SendEnemyKill[_data.m_EnemyKillCountList.Length]; for (int i = 0; i < _data.m_EnemyKillCountList.Length; i++) { enemy_kill_list[i] = new SendEnemyKill(); enemy_kill_list[i].enemy_id = (uint)_data.m_EnemyKillCountList[i].m_EnemyFixID; enemy_kill_list[i].value = (uint)_data.m_EnemyKillCountList[i].m_KillCount; } active_skill_execute_count = new SendSkillExecCount[_data.m_LimitBreakUseList.Length]; for (int i = 0; i < _data.m_LimitBreakUseList.Length; i++) { active_skill_execute_count[i] = new SendSkillExecCount(); active_skill_execute_count[i].skill_id = (uint)_data.m_LimitBreakUseList[i].m_LimitBreakSkillID; active_skill_execute_count[i].value = (uint)_data.m_LimitBreakUseList[i].m_UseCount; } //スコア情報を設定 play_score_info = _data.m_PlayScoreInfo; is_auto_play = _data.m_IsUsedAutoPlay; } //-------------------------------- // API通信リクエスト発行 //-------------------------------- switch (MasterDataUtil.GetQuestType(m_QuestID)) { case MasterDataDefineLabel.QuestType.NORMAL: { //-------------------------------- // 新クエスト用のリザルトAPIを発行 //-------------------------------- ServerDataUtilSend.SendPacketAPI_Quest2Clear( m_QuestID, enemy_kill_list, no_damage, max_damage, active_skill_execute_count, hero_skill_execute_count, play_score_info, is_auto_play ) .setSuccessAction(_data => { quest2ClearSuccess(_data); }) .setErrorAction(_data => { requestError(_data); }) .SendStart(); } break; case MasterDataDefineLabel.QuestType.CHALLENGE: { //-------------------------------- // 成長ボスクエスト用のリザルトAPIを発行 //-------------------------------- ServerDataUtilSend.SendPacketAPI_ChallengeQuestClear( m_QuestID, enemy_kill_list, no_damage, max_damage, active_skill_execute_count, hero_skill_execute_count, play_score_info, is_auto_play ) .setSuccessAction(_data => { challengeQuestClearSuccess(_data); }) .setErrorAction(_data => { requestError(_data); }) .SendStart(); } break; } } m_PageSwitchResultInfo = false; //-------------------------------- // 一度発行したらもう不要なので削除 //-------------------------------- SceneGoesParam.Instance.m_SceneGoesParamToMainMenu = null; }