自動調理ワールド対応
This commit is contained in:
parent
58e99c2c06
commit
9ceacd9400
|
@ -23,7 +23,7 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
var (earnList, discardList) = LocalCacheManager.Load<(IReadOnlyList<ProductData>, IReadOnlyList<ProductData>)>(AutoCookCompleteProductsTag);
|
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 autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList<AutoCookData>(Const.AutoCookDataSheet);
|
||||||
var autoCookData = autoCookDataList.First(data => data.level == gameData.AutoCookLevel);
|
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;
|
var maxLevel = autoCookDataList.Last().level;
|
||||||
if (gameData.AutoCookLevel < maxLevel)
|
if (cityGameData.AutoCookLevel < maxLevel)
|
||||||
{
|
{
|
||||||
gameData.AutoCookUsesCount++;
|
cityGameData.AutoCookUsesCount++;
|
||||||
if (gameData.AutoCookUsesCount >= autoCookData.clearCount)
|
if (cityGameData.AutoCookUsesCount >= autoCookData.clearCount)
|
||||||
{
|
{
|
||||||
gameData.AutoCookUsesCount = 0;
|
cityGameData.AutoCookUsesCount = 0;
|
||||||
gameData.AutoCookLevel++;
|
cityGameData.AutoCookLevel++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
|
|
|
@ -27,9 +27,10 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
var gameData = GameDataManager.GameData;
|
var globalGameData = GameDataManager.GameData;
|
||||||
|
var cityGameData = GameDataManager.GetCurrentCityGameData();
|
||||||
var autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList<AutoCookData>(Const.AutoCookDataSheet);
|
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 maxLevel = autoCookDataList.Last().level;
|
||||||
var isMaxLevel = autoCookData.level >= maxLevel;
|
var isMaxLevel = autoCookData.level >= maxLevel;
|
||||||
|
|
||||||
|
@ -49,20 +50,20 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
GetRewardDialog.ShowRewardVideo(GameScenes.AutomaticCookingMovie, AdManager.AD_PLACEMENT_AUTO, () =>
|
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();
|
cityGameData.AutoCookProducts = globalGameData.MyRecipes.OrderBy(x => Random.value).ToArray();
|
||||||
gameData.AddUseAutoCook();
|
globalGameData.AddUseAutoCook();
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
|
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
|
||||||
LocalCacheManager.Remove(SuccessCallbackTag);
|
LocalCacheManager.Remove(SuccessCallbackTag);
|
||||||
});
|
});
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
cookerLevelText.text = isMaxLevel ? "MAX" : $"{gameData.AutoCookLevel}";
|
cookerLevelText.text = isMaxLevel ? "MAX" : $"{cityGameData.AutoCookLevel}";
|
||||||
earnCountText.text = $"{autoCookData.earnCount}{ScriptLocalization.Unit.Amount}";
|
earnCountText.text = $"{autoCookData.earnCount}{ScriptLocalization.Unit.Amount}";
|
||||||
durationText.text = $"{autoCookData.duration}{ScriptLocalization.Unit.Hours}";
|
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){
|
public static void ShowDialog(Action onSuccess = null, Action onClose = null){
|
||||||
|
|
|
@ -58,9 +58,9 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
|
|
||||||
public static bool CheckComplete()
|
public static bool CheckComplete()
|
||||||
{
|
{
|
||||||
var gameData = GameDataManager.GameData;
|
var cityGameData = GameDataManager.GetCurrentCityGameData();
|
||||||
var remainingTime = DateTime.FromBinary(gameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
|
var remainingTime = DateTime.FromBinary(cityGameData.AutoCookFinishTime).Subtract(DateTime.UtcNow);
|
||||||
return gameData.AutoCookProducts.Length != 0 && remainingTime.TotalSeconds <= 0;
|
return cityGameData.AutoCookProducts.Length != 0 && remainingTime.TotalSeconds <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetActive(bool active)
|
public void SetActive(bool active)
|
||||||
|
|
Loading…
Reference in New Issue