public void OnSendGetAchivement() { ServerDataUtilSend.SendPacketAPI_GetMasterDataAchievement(groupId, page, sortType). setSuccessAction(_data => { Debug.LogError("FINISH"); RecvMasterDataAchievementValue recvMasterDataAchievementValueTest = (RecvMasterDataAchievementValue)_data.GetResult <RecvMasterDataAchievement>().result; }). setErrorAction(_data => { Debug.LogError("ERROR:" + _data.m_PacketCode); }). SendStart(); }
private void sendMissionGet(System.Action callback = null) { m_QuestDetailMission.MissionList.Clear(); ServerDataUtilSend.SendPacketAPI_GetMasterDataAchievement(4, 0, 0, MainMenuParam.m_QuestSelectMissionID) .setSuccessAction(_data => { RecvMasterDataAchievementValue _result = _data.GetResult <RecvMasterDataAchievement>().result; MasterDataAchievementConverted[] achievementArray = _result.master_array_achievement; // 未達成と達成済みを分ける List <MasterDataAchievementConverted> notAchievedList = new List <MasterDataAchievementConverted>(); List <MasterDataAchievementConverted> achievedList = new List <MasterDataAchievementConverted>(); for (int i = 0; i < achievementArray.Length; ++i) { if (achievementArray[i].IsState_Achieve) { achievedList.Add(achievementArray[i]); } else { notAchievedList.Add(achievementArray[i]); } } // 未達成と達成済みを結合する notAchievedList.AddRange(achievedList); achievementArray = notAchievedList.ToArray(); int clearCount = 0; for (int i = 0; i < achievementArray.Length; i++) { MasterDataAchievementConverted _master = achievementArray[i]; QuestMissionContext newMission = new QuestMissionContext(); newMission.Title = _master.draw_msg; newMission.ItemName = _master.PresentName; newMission.Count = (int)_master.ProgressCount; newMission.CountMax = (int)_master.TotalCount; _master.GetPresentIcon(sprite => { newMission.IconImage = sprite; }); newMission.IsActiveLeftTime = false; newMission.ItemValue = (_master.PresentCount > 0) ? _master.PresentCount.ToString() : ""; if (_master.event_id != 0) { uint unTimingEnd = MainMenuUtil.GetEventTimingEnd(_master.event_id); if (unTimingEnd != 0) { DateTime endTime = TimeUtil.GetDateTime(unTimingEnd); DateTime nowTime = TimeManager.Instance.m_TimeNow; TimeSpan leftTime = endTime - nowTime; newMission.LeftValue = GameTextUtil.GetRemainStr(leftTime, GameTextUtil.GetText("general_time_01")); newMission.IsActiveLeftTime = true; } } if (_master.IsState_Achieve) { newMission.Count = newMission.CountMax; clearCount++; } m_QuestDetailMission.MissionList.Add(newMission); } m_QuestDetailMission.Count = clearCount; m_QuestDetailMission.CountMax = achievementArray.Length; if (callback != null) { callback(); } }) .setErrorAction(_data => { if (callback != null) { callback(); } }) .SendStart(); }
public void Activate(int pageNo = 1, Action finishAction = null) { #if BUILD_TYPE_DEBUG Debug.Log("Call MissionGroup#Activate:" + missionGroupType + ":" + pageNo); #endif if (missionGroupType == ACHIEVEMENT_CATEGORY_TYPE.REWARDED) { mission.filterButton.SetActive(false); mission.receivedItemDisplayLimtText.gameObject.SetActive(true); mission.receivedItemDisplayLimtText.text = GameTextUtil.GetText("RECEIVED_ITEM_DISPLAY_LIMIT"); } else { mission.filterButton.SetActive(true); mission.receivedItemDisplayLimtText.gameObject.SetActive(false); } Pager.onClickLeftArrow = () => { Prev(); }; Pager.onClickRightArrow = () => { Next(); }; //--------------------------------------- // 一括受け取りボタンの表示設定 //--------------------------------------- if (CheckViewRecevieAllButtonType(missionGroupType) == false) { SetEnableRecevieAllButton(MasterDataDefineLabel.BoolType.NONE); } else { SetEnableRecevieAllButton((m_isReword) ? MasterDataDefineLabel.BoolType.ENABLE : MasterDataDefineLabel.BoolType.DISABLE); } uint p = (uint)missionGroupType; if (missionGroupType == ACHIEVEMENT_CATEGORY_TYPE.REWARDED) { p = (uint)ACHIEVEMENT_CATEGORY_TYPE.NORMAL; } uint filterType = (uint)MasterDataDefineLabel.AchievementFilterType.ALL; if (mission.m_FilterInfo != null) { filterType = (uint)mission.m_FilterInfo.m_filter_type; } StartCoroutine(WaitSentStart(() => { ServerDataUtilSend.SendPacketAPI_GetMasterDataAchievement(p, (uint)pageNo, 0, 0, filterType). setSuccessAction(_data => { #if BUILD_TYPE_DEBUG Debug.Log("FINISH"); #endif mission.CurrentMissionGroup = this; RecvMasterDataAchievementValue response = (RecvMasterDataAchievementValue)_data.GetResult <RecvMasterDataAchievement>().result; if (missionGroupType == ACHIEVEMENT_CATEGORY_TYPE.REWARDED) { Collection = response.clear_array_achievement.ToList(); } else { Collection = response.master_array_achievement.ToList(); } UpdateGetReword(); //タブについているバッジの更新 mission.SetBadgeNum(response.achievement_category_clear_num.clear_num_1, response.achievement_category_clear_num.clear_num_2, response.achievement_category_clear_num.clear_num_3); if (Collection.Count == 0) { emptyMessage.enabled = true; Pager.Refresh(0, 0); return; } //Pagerの更新 if (missionGroupType == ACHIEVEMENT_CATEGORY_TYPE.REWARDED) { Pager.Refresh(pageNo, REWARDED_COUNT_MAX); } else { Pager.Refresh(pageNo, response.achievement_all_num); } }). setErrorAction(_data => { Debug.LogError("ERROR:" + _data.m_PacketCode); SetEnaleReceiveButtonAll(true); }). SendStart(); })); }