ミッション通常タブの都市名表示を追加

This commit is contained in:
kimura 2022-10-14 13:28:05 +09:00
parent ef6d56b135
commit 58e99c2c06
1 changed files with 15 additions and 14 deletions

View File

@ -40,33 +40,28 @@ public class MissionManager : MonoBehaviour
});
}).AddTo(this);
var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(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<Action<bool>>(AchievedCallbackTag, null);
var gameData = GameDataManager.GameData;
var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(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<bool> onAchieved = null)
{
LocalCacheManager.Save(CallbackTag, onClose);