diff --git a/popcorn/Assets/MyGame/Scripts/GameDataUtils.cs b/popcorn/Assets/MyGame/Scripts/GameDataUtils.cs
index b3328ccf..bcb6e189 100644
--- a/popcorn/Assets/MyGame/Scripts/GameDataUtils.cs
+++ b/popcorn/Assets/MyGame/Scripts/GameDataUtils.cs
@@ -10,29 +10,30 @@ namespace MyGame.Scripts
///
///
public static int GetPartTimerHeart(int cityId)
+ {
+ // 都市開放時のハート取得
+ var baseBrotherHeart = GameDataManager.GetCityGameData(cityId).BrotherHeart;
+ return GetTotalHeart() - baseBrotherHeart;
+ }
+
+ public static int GetTotalHeart()
{
var cityDataList = GameDataManager.GameData.CityGameDataDict.Values;
var fundedList = cityDataList.Where(data => data.IsFundingCompleted).ToList();
- // 初期店舗の場合リスト内で1店舗解放済みであればOK
- if (cityId == Const.DefaultCityId && fundedList.Count == 1)
+ switch (fundedList.Count)
{
- return fundedList[0].Heart;
+ case < 1:
+ return GameDataManager.GameData.Heart;
+ case 1:
+ return fundedList[0].Heart;
}
-
- // バイト開放には店舗が2つ以上必要
- if (fundedList.Count < 2)
- {
- return 0;
- }
-
- // 最新の店舗ハート数+1つ前の店舗のBrotherHeart
+
+ // 最新の店舗ハート数+1つ前の店舗のBrotherHeartで総ハート数
var cities = fundedList.TakeLast(2).ToArray();
var prevCityBrotherHeart = cities[0].BrotherHeart;
var latestCityHeart = cities[1].Heart;
- // 都市開放時のハート取得
- var baseBrotherHeart = GameDataManager.GetCityGameData(cityId).BrotherHeart;
- return prevCityBrotherHeart + latestCityHeart - baseBrotherHeart;
+ return prevCityBrotherHeart + latestCityHeart;
}
///
@@ -41,13 +42,13 @@ namespace MyGame.Scripts
///
///
///
- public static bool CheckLatestCity(int cityId)
+ public static bool CheckLatestCity(int cityId) => cityId == GetLatestCityId();
+
+ public static int GetLatestCityId()
{
- if (cityId == Const.DefaultCityId)
- {
- return !GameDataManager.GameData.CityGameDataDict.Values.Any(data => data.IsFundingCompleted);
- }
- return GameDataManager.GameData.CityGameDataDict.LastOrDefault(pair => pair.Value.IsFundingCompleted).Key == cityId;
+ var cityId = GameDataManager.GameData.CityGameDataDict
+ .LastOrDefault(pair => pair.Value.IsFundingCompleted).Key;
+ return cityId == 0 ? Const.DefaultCityId : cityId;
}
public static GameData CreateCityData(int cityId)
@@ -64,5 +65,6 @@ namespace MyGame.Scripts
}
public static bool IsPartTimerCurrentCity() => !CheckLatestCity(GameDataManager.GameData.CurrentCityId);
+ public static bool IsPartTimerCity(int cityId) => !CheckLatestCity(cityId);
}
}
\ No newline at end of file