バイトと収益バッジ対応
This commit is contained in:
parent
6d24958ea6
commit
ca4507010c
|
@ -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<PartTimerData>(Const.PartTimerDataSheet);
|
||||
partTimersData[0].maxSales = 300;
|
||||
var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,10 +52,12 @@ namespace MyGame.Scripts
|
|||
private static List<GameData> 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<PartTimerData>(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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue