From 58e99c2c06159f26c4bbc1f2bc6a4bb54cf125ea Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 14 Oct 2022 13:28:05 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=9F=E3=83=83=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E9=80=9A=E5=B8=B8=E3=82=BF=E3=83=96=E3=81=AE=E9=83=BD=E5=B8=82?= =?UTF-8?q?=E5=90=8D=E8=A1=A8=E7=A4=BA=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/Main/Scripts/MissionManager.cs | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs index 1da78300..c78df84c 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs @@ -40,33 +40,28 @@ public class MissionManager : MonoBehaviour }); }).AddTo(this); + var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.CityDataSheet); + var cityData = cityDataList.First(data => data.id == GameDataManager.GameData.CurrentCityId); + listView.SetCityIcon(cityData.GetIconPrefab()); + + var timeLimitTextValue = string.Empty; listView.SelectedTab.Subscribe(category => { - timeLimitText.gameObject.SetActive(category == MissionCategory.Daily); + timeLimitText.text = category == MissionCategory.Daily ? timeLimitTextValue : cityData.Name; }).AddTo(this); onAchieved = LocalCacheManager.Load>(AchievedCallbackTag, null); var gameData = GameDataManager.GameData; - var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.CityDataSheet); - var cityData = cityDataList.First(data => data.id == GameDataManager.GameData.CurrentCityId); - listView.SetCityIcon(cityData.GetIconPrefab()); // デイリーカウントダウン - var limitTime = gameData.GetDailyMissionLimitTime(); - if (limitTime.TotalSeconds > 0) - { - timeLimitText.text = String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, limitTime.Hours, limitTime.Minutes, limitTime.Seconds); - } - else - { - timeLimitText.text = String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, 0, 0, 0); - } Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) .Select(x => gameData.GetDailyMissionLimitTime()) .TakeWhile(x => x.TotalSeconds > 0) + .StartWith(gameData.GetDailyMissionLimitTime()) .Subscribe(x => { - timeLimitText.text = String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, x.Hours, x.Minutes, x.Seconds); + timeLimitTextValue = GetTimeLimitText(x); + if (listView.SelectedTab.Value == MissionCategory.Daily) timeLimitText.text = timeLimitTextValue; }).AddTo(this); // ミッション読み込み @@ -211,6 +206,12 @@ public class MissionManager : MonoBehaviour listView.SetIndicator(MissionCategory.Normal, normalIndicateFlag > 0); } + private string GetTimeLimitText(TimeSpan limitTime) + { + if (limitTime.TotalSeconds < 0) limitTime = TimeSpan.Zero; + return String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, limitTime.Hours, limitTime.Minutes, limitTime.Seconds); + } + public static void ShowDialog(Action onClose = null, Action onAchieved = null) { LocalCacheManager.Save(CallbackTag, onClose);