リワード動画の処理を外から使えるようにした

This commit is contained in:
kimura 2022-04-14 16:10:14 +09:00
parent 326886a34a
commit 0610bfb4d6
1 changed files with 25 additions and 17 deletions

View File

@ -103,27 +103,35 @@ namespace MyGame.Scripts
}).AddTo(this); }).AddTo(this);
okButton.OnClickAsObservable().Take(1).Subscribe(_ => okButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{ {
if (AdManager.Instance.IsLoadedRewardVideo()) ShowRewardVideo(GameScenes.WatchMovieCoin, Placement, () =>
{ {
AdManager.Instance.ShowRewardVideo(result => LocalCacheManager.Load<Action>(OkCallbackTag, null)?.Invoke();
{ LocalCacheManager.Remove(OkCallbackTag);
if (result) });
{
GameDataManager.GameData.AddAdCount();
LocalCacheManager.Load<Action>(OkCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(OkCallbackTag);
}
TransitionManager.Instance.UnloadScene(GameScenes.WatchMovieCoin);
}, Placement);
}
else
{
TransitionManager.Instance.LoadSceneAdditive(GameScenes.WatchMovieFailure);
TransitionManager.Instance.UnloadScene(GameScenes.WatchMovieCoin);
}
}).AddTo(this); }).AddTo(this);
} }
public static void ShowRewardVideo(GameScenes unloadScene, string placement, Action successCallback)
{
if (AdManager.Instance.IsLoadedRewardVideo())
{
AdManager.Instance.ShowRewardVideo(result =>
{
if (result)
{
successCallback?.Invoke();
GameDataManager.GameData.AddAdCount();
}
TransitionManager.Instance.UnloadScene(unloadScene);
}, placement);
}
else
{
TransitionManager.Instance.LoadSceneAdditive(GameScenes.WatchMovieFailure);
TransitionManager.Instance.UnloadScene(unloadScene);
}
}
private static void ShowDialog(RewardType rewardType, Action okCallback, Action closeCallback) private static void ShowDialog(RewardType rewardType, Action okCallback, Action closeCallback)
{ {
LocalCacheManager.Save(OkCallbackTag, okCallback); LocalCacheManager.Save(OkCallbackTag, okCallback);