店舗開放処理追加
This commit is contained in:
parent
173f9928ab
commit
c829d6340b
|
|
@ -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);
|
||||||
|
|
@ -70,16 +71,10 @@ 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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue