マーケット初期化修正

This commit is contained in:
kimura 2022-11-04 16:42:10 +09:00
parent 76cdf06105
commit 9f0571bef9
2 changed files with 10 additions and 10 deletions

View File

@ -88,7 +88,6 @@ public class Market : MonoBehaviour
IsLatestCity = GameDataUtils.CheckLatestCity(cityId); IsLatestCity = GameDataUtils.CheckLatestCity(cityId);
cityGameData = GameDataManager.GetCityGameData(cityId); cityGameData = GameDataManager.GetCityGameData(cityId);
globalGameData = GameDataManager.GameData; globalGameData = GameDataManager.GameData;
UpdateBonus(ShopCustomize.GetBonusList(globalGameData.ShopCustomizeLevel));
customerFlow.SetCityGameData(cityGameData); customerFlow.SetCityGameData(cityGameData);
CheckAndFixStock(); CheckAndFixStock();

View File

@ -20,6 +20,7 @@ namespace MyGame.Scenes.marketing.Scripts
public readonly ReactiveProperty<bool> IsPause = new(); public readonly ReactiveProperty<bool> IsPause = new();
//cityIdごとにMarket保存 //cityIdごとにMarket保存
private readonly Dictionary<int, Market> cityMarketDict = new(); private readonly Dictionary<int, Market> cityMarketDict = new();
private Dictionary<ShopCustomizeBonusCategory, (int bonusLevel, int value)> cacheBonusList = new();
private void Start() private void Start()
{ {
/* /*
@ -77,16 +78,13 @@ namespace MyGame.Scenes.marketing.Scripts
// GameDataManager.GameData.BrotherHeart = GameDataManager.GameData.Heart; // GameDataManager.GameData.BrotherHeart = GameDataManager.GameData.Heart;
// PartTimerManager.Instance.UpdateList(); // PartTimerManager.Instance.UpdateList();
#endif #endif
cacheBonusList = ShopCustomize.GetBonusList(GameDataManager.GameData.ShopCustomizeLevel);
// 各都市マーケット生成 // 各都市マーケット生成
var latestCityId = GameDataUtils.GetLatestCityId(); CreateMarket(Const.DefaultCityId);
CreateMarket(Const.DefaultCityId).CheckPartTimerMode();
foreach (var (cityId, gameData) in GameDataManager.GameData.CityGameDataDict) foreach (var (cityId, gameData) in GameDataManager.GameData.CityGameDataDict)
{ {
if (!gameData.IsFundingCompleted) return; if (!gameData.IsFundingCompleted) return;
var market = CreateMarket(cityId); CreateMarket(cityId);
market.CheckPartTimerMode();
market.SetLatestCity(cityId == latestCityId);
} }
} }
@ -94,18 +92,20 @@ namespace MyGame.Scenes.marketing.Scripts
{ {
var market = Instantiate(marketPrefab, transform); var market = Instantiate(marketPrefab, transform);
market.Initialize(cityId); market.Initialize(cityId);
market.UpdateBonus(cacheBonusList);
market.CheckPartTimerMode();
cityMarketDict.Add(cityId, market); cityMarketDict.Add(cityId, market);
return market; return market;
} }
public Market GetMarket(int cityId) public Market GetMarket(int cityId)
{ {
return cityMarketDict[cityId]; return cityMarketDict.ContainsKey(cityId) ? cityMarketDict[cityId] : CreateMarket(cityId);
} }
public Market GetCurrentCityMarket() public Market GetCurrentCityMarket()
{ {
return cityMarketDict[GameDataManager.GameData.CurrentCityId]; return GetMarket(GameDataManager.GameData.CurrentCityId);
} }
/// <summary> /// <summary>
@ -137,6 +137,7 @@ namespace MyGame.Scenes.marketing.Scripts
/// <param name="bonusList"></param> /// <param name="bonusList"></param>
public void UpdateBonus(Dictionary<ShopCustomizeBonusCategory, (int bonusLevel, int value)> bonusList) public void UpdateBonus(Dictionary<ShopCustomizeBonusCategory, (int bonusLevel, int value)> bonusList)
{ {
cacheBonusList = bonusList;
foreach (var (_, market) in cityMarketDict) foreach (var (_, market) in cityMarketDict)
{ {
market.UpdateBonus(bonusList); market.UpdateBonus(bonusList);