update 自動調理ダイアログ

This commit is contained in:
kimura 2022-04-15 10:14:05 +09:00
parent 3d4ca9f428
commit 013d922b13
2 changed files with 15 additions and 11 deletions

View File

@ -174,10 +174,10 @@ MonoBehaviour:
backgroundAnimator: {fileID: 1266368101}
closeButton: {fileID: 1177471513}
movieButton: {fileID: 1725004924}
cookerLevelText: {fileID: 1771385233}
earnCountText: {fileID: 1165270082}
remainingTimeText: {fileID: 445717700}
usesCountText: {fileID: 1667839400}
cookerLevelText: {fileID: 1393575076}
earnCountText: {fileID: 739094530}
durationText: {fileID: 1355556012}
usesCountText: {fileID: 252133241}
--- !u!1001 &198950442
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -10,7 +10,8 @@ namespace MyGame.Scenes.Main.Scripts
{
public class AutoCookDialog : MonoBehaviour
{
private static readonly string CallbackTag = "AutoCookDialogCallback";
private static readonly string SuccessCallbackTag = "AutoCookDialogSuccessCallback";
private static readonly string CloseCallbackTag = "AutoCookDialogCloseCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -20,7 +21,7 @@ namespace MyGame.Scenes.Main.Scripts
[SerializeField] private Text cookerLevelText;
[SerializeField] private Text earnCountText;
[SerializeField] private Text remainingTimeText;
[SerializeField] private Text durationText;
[SerializeField] private Text usesCountText;
private void Start()
@ -31,8 +32,8 @@ namespace MyGame.Scenes.Main.Scripts
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CallbackTag);
LocalCacheManager.Load<Action>(CloseCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CloseCallbackTag);
transform.parent.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
@ -49,17 +50,20 @@ namespace MyGame.Scenes.Main.Scripts
// レシピをランダムに並び替えて保存
gameData.AutoCookProducts = gameData.MyRecipes.OrderBy(x => Random.value).ToArray();
GameDataManager.SaveGameData();
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(SuccessCallbackTag);
});
}).AddTo(this);
cookerLevelText.text = $"{gameData.AutoCookLevel}";
earnCountText.text = $"{autoCookData.earnCount}個";
remainingTimeText.text = $"{DateTime.FromBinary(GameDataManager.GameData.AutoCookFinishTime).Subtract(DateTime.UtcNow).TotalHours}時間";
durationText.text = $"{autoCookData.duration}時間";
usesCountText.text = $"{gameData.AutoCookUsesCount}/{autoCookData.clearCount}";
}
public static void ShowDialog(Action onClose = null){
LocalCacheManager.Save(CallbackTag, onClose);
public static void ShowDialog(Action onSuccess = null, Action onClose = null){
LocalCacheManager.Save(SuccessCallbackTag, onSuccess);
LocalCacheManager.Save(CloseCallbackTag, onClose);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.AutomaticCookingMovie);
}
}