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} backgroundAnimator: {fileID: 1266368101}
closeButton: {fileID: 1177471513} closeButton: {fileID: 1177471513}
movieButton: {fileID: 1725004924} movieButton: {fileID: 1725004924}
cookerLevelText: {fileID: 1771385233} cookerLevelText: {fileID: 1393575076}
earnCountText: {fileID: 1165270082} earnCountText: {fileID: 739094530}
remainingTimeText: {fileID: 445717700} durationText: {fileID: 1355556012}
usesCountText: {fileID: 1667839400} usesCountText: {fileID: 252133241}
--- !u!1001 &198950442 --- !u!1001 &198950442
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

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