自動調理ワールド対応
This commit is contained in:
parent
58e99c2c06
commit
9ceacd9400
|
@ -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();
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue