private void SendGetScoreReward(int[] reward_ids) { ServerDataUtilSend.SendPacketAPI_GetScoreReward(scoreInfo.event_id, reward_ids) .setSuccessAction(data => { RecvGetScoreReward getReward = data.GetResult <RecvGetScoreReward>(); if (getReward != null && getReward.result != null) { //スコア情報 scoreInfo = getReward.result.score_info; //報酬リスト更新 updateRewardList(); //プレゼント更新 if (getReward.result.present != null) { UserDataAdmin.Instance.m_StructPresentList = UserDataAdmin.PresentListClipTimeLimit(getReward.result.present); } openGetScoreRewardDialog(); } }) .setErrorAction(data => { }) .SendStart(); }
private void updateScoreReward(ScoreEventContext scoreEvent, PacketStructUserScoreInfo scoreInfo) { scoreEvent.IsHiScoreReward = false; int nextHiScore = calcNextScore(scoreInfo.hi_score, (int)MasterDataDefineLabel.ScoreRewardType.HI_SCORE, scoreInfo.reward_list); if (nextHiScore == 0) { scoreEvent.NextHiLabel = GameTextUtil.GetText("score_notification_allget"); scoreEvent.NextHiScore = ""; } else { int nextScore = nextHiScore - scoreInfo.total_score; if (nextScore <= 0) { scoreEvent.IsHiScoreReward = true; scoreEvent.NextHiLabel = GameTextUtil.GetText("score_notification_getreward"); scoreEvent.NextHiScore = ""; } else { scoreEvent.NextHiLabel = GameTextUtil.GetText("score_notification_nextreward"); scoreEvent.NextHiScore = string.Format(GameTextUtil.GetText("score_entity"), nextScore); } } scoreEvent.IsTotalScoreReward = false; int nextTotalScore = calcNextScore(scoreInfo.total_score, (int)MasterDataDefineLabel.ScoreRewardType.TOTAL_SCORE, scoreInfo.reward_list); if (nextTotalScore == 0) { scoreEvent.NextTotalLabel = GameTextUtil.GetText("score_notification_allget");; scoreEvent.NextTotalScore = ""; } else { int nextScore = nextTotalScore - scoreInfo.total_score; if (nextScore <= 0) { scoreEvent.IsTotalScoreReward = true; scoreEvent.NextTotalLabel = GameTextUtil.GetText("score_notification_getreward"); scoreEvent.NextTotalScore = ""; } else { scoreEvent.NextTotalLabel = GameTextUtil.GetText("score_notification_nextreward"); scoreEvent.NextTotalScore = string.Format(GameTextUtil.GetText("score_entity"), nextScore); } } }
public void addScoreInfo(PacketStructUserScoreInfo scoreInfo, MasterDataScoreEvent scoreEventMaster) { ScoreEventContext scoreEvent = new ScoreEventContext(); //スコア情報 scoreEvent.ScoreInfo = scoreInfo; //タイトル scoreEvent.Title = scoreEventMaster.title; //期間 string timeFormat = GameTextUtil.GetText("score_time_format"); if (TimeEventManager.Instance.ChkEventActive(scoreEventMaster.event_id) == true) { //開催中 MasterDataEvent eventData = MasterDataUtil.GetMasterDataEventFromID(scoreEventMaster.event_id); DateTime startTime = TimeUtil.GetDateTime(eventData.timing_start); if (eventData.timing_end != 0) { DateTime endTime = TimeUtil.GetDateTime(eventData.timing_end); endTime = endTime.SubtractAMinute(); scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period"), startTime.ToString(timeFormat), endTime.ToString(timeFormat)); } else { //終了期限なし scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period_infinite"), startTime.ToString(timeFormat), ""); } scoreEvent.IsTimeEnd = false; } else { //イベント終了 if (scoreEventMaster.receiving_end != 0) { DateTime endTime = TimeUtil.GetDateTime(scoreEventMaster.receiving_end); endTime = endTime.SubtractAMinute(); string kikanFormat = GameTextUtil.GetText("Score_period_01"); scoreEvent.TimeEnd = string.Format(kikanFormat, endTime.ToString(timeFormat)); } else { scoreEvent.TimeEnd = GameTextUtil.GetText("Score_period_02"); } scoreEvent.IsTimeEnd = true; } //エリア情報 scoreEvent.AreaMessage = GameTextUtil.GetText("score_notice"); //ハイスコア scoreEvent.HiScoreLabel = GameTextUtil.GetText("score_subtitle_highscore"); scoreEvent.HiScore = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.hi_score); scoreEvent.HiScorePt = GameTextUtil.GetText("score_entity_02"); //累積スコア scoreEvent.TotalScoreLabel = GameTextUtil.GetText("score_subtitle_cumulative");; scoreEvent.TotalScore = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.total_score); scoreEvent.TotalScorePt = GameTextUtil.GetText("score_entity_02"); //報酬情報更新 updateScoreReward(scoreEvent, scoreInfo); //アイコン MasterDataPresent imagePresent = null; if (scoreEventMaster.image_present_id != 0) { imagePresent = MasterDataUtil.GetPresentParamFromID(scoreEventMaster.image_present_id); } if (imagePresent != null) { MainMenuUtil.GetPresentIcon(imagePresent, (sprite) => { scoreEvent.IconImage = sprite; }); } else { UnitIconImageProvider.Instance.Get( 1, (sprite) => { scoreEvent.IconImage = sprite; }); } scoreEvent.DidSelectItem = OnSelectItem; EventList.Add(scoreEvent); }
private void openScoreInfo() { if (m_ScoreDialog != null || ServerApi.IsExists) { return; } SoundUtil.PlaySE(SEID.SE_MENU_OK); m_ScoreDialog = ScoreEventDialog.Create(SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent <Camera>()); int[] event_ids = new int[scoreEventList.Count]; for (int i = 0; i < scoreEventList.Count; i++) { event_ids[i] = (int)scoreEventList[i].event_id; } ServerDataUtilSend.SendPacketAPI_GetUserScoreInfo(event_ids) .setSuccessAction((data) => { RecvGetUserScoreInfo scoreInfo = data.GetResult <RecvGetUserScoreInfo>(); if (scoreInfo != null && scoreInfo.result != null && scoreInfo.result.score_infos != null) { for (int i = 0; i < scoreInfo.result.score_infos.Length; i++) { PacketStructUserScoreInfo Info = scoreInfo.result.score_infos[i]; if (Info == null) { continue; } MasterDataScoreEvent scoreEventMaster = scoreEventList.Find((m) => m.event_id == Info.event_id); if (scoreEventMaster == null) { continue; } m_ScoreDialog.addScoreInfo(Info, scoreEventMaster); } bool isTutorial = (LocalSaveManagerRN.Instance.GetIsShowTutorialDialog(TutorialDialog.FLAG_TYPE.SCORE) == false); if (isTutorial) { #if BUILD_TYPE_DEBUG Debug.LogError(string.Format("チュートリアルを表示する FLAG_TYPE:{0}", TutorialDialog.FLAG_TYPE.SCORE.ToString())); #endif TutorialDialog.Create().SetTutorialType(TutorialDialog.FLAG_TYPE.SCORE).Show(() => { isTutorial = false; }); } m_HomeMenu.IsViewScoreInfo = false; m_ScoreDialog.Show(() => { m_ScoreDialog = null; m_HomeMenu.IsViewScoreInfo = true; }); } else { DestroyObject(m_ScoreDialog.gameObject); m_ScoreDialog = null; Dialog errorDialog = Dialog.Create(DialogType.DialogOK); errorDialog.SetDialogText(DialogTextType.Title, "警告"); errorDialog.SetDialogText(DialogTextType.MainText, "スコアイベントは開催されていません。"); errorDialog.SetDialogText(DialogTextType.OKText, "閉じる"); errorDialog.SetDialogEvent(DialogButtonEventType.OK, () => { m_HomeMenu.IsViewScoreInfo = false; }); errorDialog.Show(); } }) .setErrorAction((data) => { DestroyObject(m_ScoreDialog.gameObject); m_ScoreDialog = null; }) .SendStart(); }
public void setup(PacketStructUserScoreInfo _info) { scoreInfo = _info; TabIndex = TAB_TOTAL_SCORE; updateRewardList(); }