public void OnClickReceiveButton() { #if BUILD_TYPE_DEBUG Debug.Log("CALL OnClickReceiveButton:" + gameObject.name); #endif //連打防止 if (ServerApi.IsExists) { return; } if (GlobalMenuManager.Instance.IsPageClosing() == true) { return; } if (GlobalMenuManager.Instance.IsCangeTime()) { return; } SoundUtil.PlaySE(SEID.SE_MENU_OK2); ServerDataUtilSend.SendPacketAPI_AchievementOpen( new uint[] { Achievement.fix_id }, null). setSuccessAction( (_data) => { //ユーザー情報更新 UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvOpenAchievement>(UserDataAdmin.Instance.m_StructPlayer); UserDataAdmin.Instance.ConvertPartyAssing(); RecvOpenAchievementValue result = _data.GetResult <RecvOpenAchievement>().result; MissionOneOpenResultMessage(result); MissionGroup.SetEnaleReceiveButtonAll(false); MissionGroup.Activate(); // 開封した新規達成アチーブメントを削除 ResidentParam.DelAchievementClear(result.achievement_opened); #if BUILD_TYPE_DEBUG Debug.LogError("FINISH:" + ((result.achievement_opened != null) ? result.achievement_opened.Length : 0)); #endif MainMenuManager.Instance.UpdateUserStatusFromGlobalMenu(); }). setErrorAction( (_data) => { Debug.LogError("ERROR:" + _data.m_PacketCode); MissionGroup.SetEnaleReceiveButtonAll(true); }). SendStart(); }
//---------------------------------------------------------------------------- /*! * @brief アチーブメント操作:新規達成アチーブメントから要素を削除 */ //---------------------------------------------------------------------------- static public void DelAchievementClear(uint[] fix_ids) { if (fix_ids.IsNullOrEmpty() == false) { for (int i = 0; i < fix_ids.Length; ++i) { ResidentParam.DelAchievementClear(fix_ids[i]); } MainMenuHeader.SetupMissionClearMessage(); } }
public static IEnumerator PopupWebViewStart(PopupWebViewType type, uint id = 0, Action callback = null, Action closeAction = null) { if (TutorialManager.IsExists) { if (callback != null) { callback(); } } else { WebViewDayCheck(); List <uint> webViewList = MainMenuWebViewShowChk.GetPopupWebViewList(type, id); WaitForSeconds wait = new WaitForSeconds(0.5f); int opencount = 0; for (int i = 0; i < webViewList.Count; ++i) { MasterDataWebView master = MasterFinder <MasterDataWebView> .Instance.Find((int)webViewList[i]); if (master != null) { WebView webView = WebView.OpenWebView(master.url_web, closeAction, master.fix_id); while (webView.isOpen == true) { yield return(null); } ResidentParam.DelAchievementClear(master.webview_param_1); opencount++; } yield return(wait); } if (callback != null) { callback(); } if (opencount <= 0 && closeAction != null) { closeAction(); } } }
//一括受取ボタン public void OnClickReceiveAllButton() { #if BUILD_TYPE_DEBUG Debug.Log("CALLOnClickReceiveAllButton"); #endif if (GlobalMenuManager.Instance.IsPageClosing() == true) { return; } //連打防止 if (ServerApi.IsExists) { return; } if (GlobalMenuManager.Instance.IsCangeTime()) { return; } SoundUtil.PlaySE(SEID.SE_MENU_OK); List <MasterDataAchievementConverted> tmpOpenCollection = CurrentMissionGroup.Collection.FindAll((v) => v.IsState_Achieve || v.IsState_AchieveEffect); List <MasterDataAchievementConverted> openCollection = new List <MasterDataAchievementConverted>(); //-------------------------------------- // フィルター設定に該当するミッションを抽出する //-------------------------------------- MasterDataDefineLabel.AchievementReceiveType filterType = MasterDataDefineLabel.AchievementReceiveType.NONE; if (m_FilterInfo != null) { filterType = m_FilterInfo.m_receive_type; } for (int i = 0; i < tmpOpenCollection.Count; ++i) { if (MasterDataUtil.CheckReceivePresentType(tmpOpenCollection[i].present_ids, filterType) == true) { openCollection.Add(tmpOpenCollection[i]); } } uint[] present = openCollection.Select((v) => v.fix_id).ToArray(); // 現在のタブで、報酬があるアチーブメントの配列 // リクエスト ServerDataUtilSend.SendPacketAPI_AchievementOpen(present, new uint[] { (uint)CurrentMissionGroup.missionGroupType }). setSuccessAction((_data) => { //ユーザー情報更新 UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvOpenAchievement>(UserDataAdmin.Instance.m_StructPlayer); UserDataAdmin.Instance.ConvertPartyAssing(); RecvOpenAchievementValue result = _data.GetResult <RecvOpenAchievement>().result; MissionAllOpenResultMessage(result); #if BUILD_TYPE_DEBUG Debug.Log("FINISH:" + result.achievement_opened); #endif CurrentMissionGroup.SetEnaleReceiveButtonAll(false); // 開封したミッションリストのボタンを押せなくする CurrentMissionGroup.Activate(); // 開封した新規達成アチーブメントを削除 ResidentParam.DelAchievementClear(result.achievement_opened); MainMenuManager.Instance.UpdateUserStatusFromGlobalMenu(); }). setErrorAction((_data) => { Debug.LogError("ERROR:" + _data.m_PacketCode); CurrentMissionGroup.SetEnaleReceiveButtonAll(true); }). SendStart(); }