店舗開放処理追加

This commit is contained in:
kimura 2022-11-04 15:52:04 +09:00
parent 173f9928ab
commit c829d6340b
1 changed files with 21 additions and 14 deletions

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Linq; using System.Linq;
using MyGame.Scenes.marketing.Scripts;
using MyGame.Scripts; using MyGame.Scripts;
using UniRx; using UniRx;
using UniRx.Triggers; using UniRx.Triggers;
@ -29,7 +30,7 @@ namespace MyGame.Scenes.WorldMap.Scripts
.Where(_ => Input.GetKeyDown(KeyCode.R)) .Where(_ => Input.GetKeyDown(KeyCode.R))
.Subscribe(_ => TransitionManager.Instance.LoadScene(GameScenes.WorldMap)); .Subscribe(_ => TransitionManager.Instance.LoadScene(GameScenes.WorldMap));
#endif #endif
var gameData = GameDataManager.GameData; var globalGameData = GameDataManager.GameData;
var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(Const.CityDataSheet); var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityData>(Const.CityDataSheet);
var fundingDataList = SpreadsheetDataManager.Instance.GetBaseDataList<FundingData>(Const.FundingDataSheet); var fundingDataList = SpreadsheetDataManager.Instance.GetBaseDataList<FundingData>(Const.FundingDataSheet);
var partTimerDataList = SpreadsheetDataManager.Instance.GetBaseDataList<PartTimerData>(Const.PartTimerDataSheet); var partTimerDataList = SpreadsheetDataManager.Instance.GetBaseDataList<PartTimerData>(Const.PartTimerDataSheet);
@ -69,17 +70,11 @@ namespace MyGame.Scenes.WorldMap.Scripts
{ {
TransitionManager.Instance.LoadScene(GameScenes.Main); TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this); }).AddTo(this);
/*
*
*/
gameData.IsFundingCompleted = true;
GameDataUtils.CreateCityData(2);
foreach (var cityIcon in cityIcons) foreach (var cityIcon in cityIcons)
{ {
// 選択中の店舗を中央に持ってくる // 選択中の店舗を中央に持ってくる
if (cityIcon.CityId == gameData.CurrentCityId) if (cityIcon.CityId == globalGameData.CurrentCityId)
{ {
content.localPosition = contentOffset.AddX(-cityIcon.transform.localPosition.x); content.localPosition = contentOffset.AddX(-cityIcon.transform.localPosition.x);
} }
@ -131,9 +126,13 @@ namespace MyGame.Scenes.WorldMap.Scripts
{ {
var (heartProgress, coinProgress) = CalcPartTimerProgress(partTimerData, cityGameData.PartTimerElapsed); var (heartProgress, coinProgress) = CalcPartTimerProgress(partTimerData, cityGameData.PartTimerElapsed);
earningView.SetData(cityData, partTimerData, Mathf.Max(heartProgress, coinProgress)); earningView.SetData(cityData, partTimerData, Mathf.Max(heartProgress, coinProgress));
// 指定の都市に遷移
earningView.OnClick.Subscribe(_ => earningView.OnClick.Subscribe(_ =>
{ {
gameData.CurrentCityId = cityIcon.CityId; globalGameData.CurrentCityId = cityIcon.CityId;
WorldMarketManager.Instance.UpdateCurrentCity(cityIcon.CityId);
GameDataObserver.Instance.ChangeCity(cityIcon.CityId);
GameDataObserver.Instance.CheckMissionProgress();
TransitionManager.Instance.LoadScene(GameScenes.Main); TransitionManager.Instance.LoadScene(GameScenes.Main);
LocalCacheManager.Save(Const.ChangeCityFlagTag, true); LocalCacheManager.Save(Const.ChangeCityFlagTag, true);
}).AddTo(citySelectDisposable); }).AddTo(citySelectDisposable);
@ -158,16 +157,24 @@ namespace MyGame.Scenes.WorldMap.Scripts
// 資金投入 // 資金投入
cityGameData.FundingDict[fundingData.fundingCityId] += amount; cityGameData.FundingDict[fundingData.fundingCityId] += amount;
GameDataManager.GetCityGameData(fundingData.fundingCityId).Coin -= amount; GameDataManager.GetCityGameData(fundingData.fundingCityId).Coin -= amount;
cityGameData.IsFundingCompleted = filteredFundingList.All(data => cityGameData.FundingDict[data.fundingCityId] >= data.needAmount); // 調達未達成で処理終了
GameDataManager.SaveGameData(); if (filteredFundingList.Any(data => cityGameData.FundingDict[data.fundingCityId] < data.needAmount))
// view更新
view.SetData(fundingData, cityGameData.FundingDict[fundingData.fundingCityId]);
if (!cityGameData.IsFundingCompleted)
{ {
// view更新
view.SetData(fundingData, cityGameData.FundingDict[fundingData.fundingCityId]);
GameDataManager.SaveGameData();
return; return;
} }
// 調達完了後処理
var latestCityGameData = GameDataManager.GetCityGameData(GameDataUtils.GetLatestCityId());
latestCityGameData.BrotherHeart = GameDataUtils.GetTotalHeart();
cityGameData.IsFundingCompleted = true;
GameDataManager.SaveGameData();
// 新店舗初期化 // 新店舗初期化
PartTimerManager.Instance.UpdateList(); PartTimerManager.Instance.UpdateList();
// 都市開放演出 // 都市開放演出
shareGate = false; shareGate = false;
earningView.gameObject.SetActive(false); earningView.gameObject.SetActive(false);