店舗開放処理追加

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