diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index 58b6405b..c1bfe0de 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -35,7 +35,7 @@ public class KitchenManager : MonoBehaviour var globalGameData = GameDataManager.GameData; var newGameData = GameDataUtils.CreateCityData(2); // newGameData.IsFundingCompleted = true; - newGameData.Heart = 100; + newGameData.Heart = 0; // gameData.IsFundingCompleted = true; // gameData.PartTimerElapsed = 100; // globalGameData.CurrentCityId = Const.DefaultCityId; @@ -55,14 +55,17 @@ public class KitchenManager : MonoBehaviour if (isPartTimer) { var partTimersData = SpreadsheetDataManager.Instance.GetBaseDataList(Const.PartTimerDataSheet); + partTimersData[0].maxSales = 300; var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.CityDataSheet); var cityData = cityDataList.First(data => data.id == globalGameData.CurrentCityId); - partTimerButtonView.SetBadgeActive(false); + // バイト強化可能か判定 + partTimerButtonView.SetBadgeActive(PartTimerManager.CheckLevelUp(globalGameData.CurrentCityId)); partTimerButtonView.OnClick.Subscribe(_ => { + newGameData.Heart += 110; PartTimerDialog.ShowDialog(cityData, partTimersData, () => { - // バッジ更新 + partTimerButtonView.SetBadgeActive(PartTimerManager.CheckLevelUp(globalGameData.CurrentCityId)); }); }).AddTo(this); diff --git a/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/WorldMap.cs b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/WorldMap.cs index 60500014..2e620edd 100644 --- a/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/WorldMap.cs +++ b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/WorldMap.cs @@ -109,20 +109,12 @@ namespace MyGame.Scenes.WorldMap.Scripts } // バイト強化可能か判定 - var nextLevelData = partTimerDataList.FirstOrDefault(data => data.level == cityGameData.PartTimerLevel + 1); - if (nextLevelData != null) + if (PartTimerManager.CheckLevelUp(cityIcon.CityId)) { - // 都市が開放されてから兄弟が働いて獲得したハートの合計 - if (nextLevelData.needHeart <= GameDataUtils.GetPartTimerHeart(nextLevelData.cityId)) - { - if (nextLevelData.needAmount <= cityGameData.Coin) - { - // 強化可能 - cityIcon.SetNotify(true); - } - } + // 強化可能 + cityIcon.SetNotify(true); } - + cityIcon.OnClick .Where(_ => shareGate) .ThrottleFirst(TimeSpan.FromSeconds(1f)) @@ -219,8 +211,8 @@ namespace MyGame.Scenes.WorldMap.Scripts private static (float heartProgress, float coinProgress) CalcPartTimerProgress(PartTimerData partTimerData, int elapsed) { - var heartProgress = partTimerData.heart / 10 * elapsed / partTimerData.maxHeart; - var coinProgress = partTimerData.sales / 10 * elapsed / partTimerData.maxSales; + var heartProgress = (float)partTimerData.heart / 10 * elapsed / partTimerData.maxHeart; + var coinProgress = (float)partTimerData.sales / 10 * elapsed / partTimerData.maxSales; return (heartProgress, coinProgress); } } diff --git a/popcorn/Assets/MyGame/Scripts/PartTimerManager.cs b/popcorn/Assets/MyGame/Scripts/PartTimerManager.cs index 7ba6bd84..4214dc93 100644 --- a/popcorn/Assets/MyGame/Scripts/PartTimerManager.cs +++ b/popcorn/Assets/MyGame/Scripts/PartTimerManager.cs @@ -52,10 +52,12 @@ namespace MyGame.Scripts private static List GetPartTimerList() { var newList = GameDataManager.GameData.CityGameDataDict.Values.Where(data => data.IsFundingCompleted).ToList(); - if (newList.Count > 0) + if (newList.Count <= 0) { - newList.Add(GameDataManager.GameData); + return newList; } + newList = newList.SkipLast(1).ToList(); + newList.Add(GameDataManager.GameData); return newList; } @@ -70,5 +72,15 @@ namespace MyGame.Scripts var heart = (int)Mathf.Min((float)partTimerData.heart / 10 * elapsed, partTimerData.maxHeart); return (coin, heart); } + + public static bool CheckLevelUp(int cityId) + { + var cityGameData = GameDataManager.GetCityGameData(cityId); + var partTimersData = SpreadsheetDataManager.Instance.GetBaseDataList(Const.PartTimerDataSheet); + var nextLevelData = partTimersData.FirstOrDefault(data => data.level == cityGameData.PartTimerLevel + 1); + if (nextLevelData == null) return false; + if (nextLevelData.needHeart > GameDataUtils.GetPartTimerHeart(nextLevelData.cityId)) return false; + return nextLevelData.needAmount <= cityGameData.Coin; + } } } \ No newline at end of file