動画リワードダイアログを閉じたときのコールバックを追加

This commit is contained in:
kimura 2022-02-04 17:07:57 +09:00
parent fbccefe07c
commit b1de1c2514
1 changed files with 15 additions and 11 deletions

View File

@ -18,6 +18,7 @@ namespace MyGame.Scripts
VipCustomer
}
private static readonly string OkCallbackTag = "GetRewardDialogOkCallbackTag";
private static readonly string CloseCallbackTag = "GetRewardDialogCloseCallbackTag";
private static readonly string RewardTypeTag = "GetRewardDialogRewardTypeTag";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
@ -89,6 +90,8 @@ namespace MyGame.Scripts
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
LocalCacheManager.Load<Action>(CloseCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CloseCallbackTag);
TransitionManager.Instance.UnloadScene(GameScenes.WatchMovieCoin);
});
}).AddTo(this);
@ -115,36 +118,37 @@ namespace MyGame.Scripts
}).AddTo(this);
}
private static void ShowDialog(Action okCallback, RewardType rewardType)
private static void ShowDialog(RewardType rewardType, Action okCallback, Action closeCallback)
{
LocalCacheManager.Save(OkCallbackTag, okCallback);
LocalCacheManager.Save(CloseCallbackTag, closeCallback);
LocalCacheManager.Save(RewardTypeTag, rewardType);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.WatchMovieCoin);
}
public static void ShowCoinDialog(Action okCallback)
public static void ShowCoinDialog(Action okCallback = null, Action closeCallback = null)
{
ShowDialog(okCallback, RewardType.Coin);
ShowDialog(RewardType.Coin, okCallback, closeCallback);
}
public static void ShowCornFieldDialog(Action okCallback)
public static void ShowCornFieldDialog(Action okCallback = null, Action closeCallback = null)
{
ShowDialog(okCallback, RewardType.CornField);
ShowDialog(RewardType.CornField, okCallback, closeCallback);
}
public static void ShowIncreaseCustomerDialog(Action okCallback)
public static void ShowIncreaseCustomerDialog(Action okCallback = null, Action closeCallback = null)
{
ShowDialog(okCallback, RewardType.IncreaseCustomer);
ShowDialog(RewardType.IncreaseCustomer, okCallback, closeCallback);
}
public static void ShowPerfectPopcornDialog(Action okCallback)
public static void ShowPerfectPopcornDialog(Action okCallback = null, Action closeCallback = null)
{
ShowDialog(okCallback, RewardType.PerfectPopcorn);
ShowDialog(RewardType.PerfectPopcorn, okCallback, closeCallback);
}
public static void ShowVipCustomerDialog(Action okCallback)
public static void ShowVipCustomerDialog(Action okCallback = null, Action closeCallback = null)
{
ShowDialog(okCallback, RewardType.VipCustomer);
ShowDialog(RewardType.VipCustomer, okCallback, closeCallback);
}
}
}