自動調理ワールド対応

This commit is contained in:
kimura 2022-10-14 15:02:01 +09:00
parent 58e99c2c06
commit 9ceacd9400
3 changed files with 18 additions and 17 deletions

View File

@ -23,7 +23,7 @@ namespace MyGame.Scenes.Main.Scripts
private void Start()
{
var (earnList, discardList) = LocalCacheManager.Load<(IReadOnlyList<ProductData>, IReadOnlyList<ProductData>)>(AutoCookCompleteProductsTag);
var gameData = GameDataManager.GameData;
var cityGameData = GameDataManager.GetCurrentCityGameData();
var autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList<AutoCookData>(Const.AutoCookDataSheet);
var autoCookData = autoCookDataList.First(data => data.level == gameData.AutoCookLevel);
@ -41,15 +41,15 @@ namespace MyGame.Scenes.Main.Scripts
}
// 自動調理セーブ
gameData.AutoCookProducts = Array.Empty<int>();
cityGameData.AutoCookProducts = Array.Empty<int>();
var maxLevel = autoCookDataList.Last().level;
if (gameData.AutoCookLevel < maxLevel)
if (cityGameData.AutoCookLevel < maxLevel)
{
gameData.AutoCookUsesCount++;
if (gameData.AutoCookUsesCount >= autoCookData.clearCount)
cityGameData.AutoCookUsesCount++;
if (cityGameData.AutoCookUsesCount >= autoCookData.clearCount)
{
gameData.AutoCookUsesCount = 0;
gameData.AutoCookLevel++;
cityGameData.AutoCookUsesCount = 0;
cityGameData.AutoCookLevel++;
}
}
GameDataManager.SaveGameData();

View File

@ -27,9 +27,10 @@ namespace MyGame.Scenes.Main.Scripts
private void Start()
{
var gameData = GameDataManager.GameData;
var globalGameData = GameDataManager.GameData;
var cityGameData = GameDataManager.GetCurrentCityGameData();
var autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList<AutoCookData>(Const.AutoCookDataSheet);
var autoCookData = autoCookDataList.First(data => data.level == gameData.AutoCookLevel);
var autoCookData = autoCookDataList.First(data => data.level == cityGameData.AutoCookLevel);
var maxLevel = autoCookDataList.Last().level;
var isMaxLevel = autoCookData.level >= maxLevel;
@ -49,20 +50,20 @@ namespace MyGame.Scenes.Main.Scripts
GetRewardDialog.ShowRewardVideo(GameScenes.AutomaticCookingMovie, AdManager.AD_PLACEMENT_AUTO, () =>
{
// 自動調理開始
gameData.AutoCookFinishTime = DateTime.UtcNow.AddHours(autoCookData.duration).ToBinary();
cityGameData.AutoCookFinishTime = DateTime.UtcNow.AddHours(autoCookData.duration).ToBinary();
// レシピをランダムに並び替えて保存
gameData.AutoCookProducts = gameData.MyRecipes.OrderBy(x => Random.value).ToArray();
gameData.AddUseAutoCook();
cityGameData.AutoCookProducts = globalGameData.MyRecipes.OrderBy(x => Random.value).ToArray();
globalGameData.AddUseAutoCook();
GameDataManager.SaveGameData();
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(SuccessCallbackTag);
});
}).AddTo(this);
cookerLevelText.text = isMaxLevel ? "MAX" : $"{gameData.AutoCookLevel}";
cookerLevelText.text = isMaxLevel ? "MAX" : $"{cityGameData.AutoCookLevel}";
earnCountText.text = $"{autoCookData.earnCount}{ScriptLocalization.Unit.Amount}";
durationText.text = $"{autoCookData.duration}{ScriptLocalization.Unit.Hours}";
usesCountText.text = isMaxLevel ? "--/--" : $"{gameData.AutoCookUsesCount}/{autoCookData.clearCount}";
usesCountText.text = isMaxLevel ? "--/--" : $"{cityGameData.AutoCookUsesCount}/{autoCookData.clearCount}";
}
public static void ShowDialog(Action onSuccess = null, Action onClose = null){

View File

@ -58,9 +58,9 @@ namespace MyGame.Scenes.Main.Scripts
public static bool CheckComplete()
{
var gameData = GameDataManager.GameData;
var remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
return gameData.AutoCookProducts.Length != 0 && remainingTime.TotalSeconds <= 0;
var cityGameData = GameDataManager.GetCurrentCityGameData();
var remainingTime = DateTime.FromBinary(cityGameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
return cityGameData.AutoCookProducts.Length != 0 && remainingTime.TotalSeconds <= 0;
}
public void SetActive(bool active)