add dialog

This commit is contained in:
kimura 2022-06-23 16:43:14 +09:00
parent 6efd668189
commit 9dd55d38f7
4 changed files with 143 additions and 0 deletions

View File

@ -0,0 +1,88 @@
using System;
using System.Linq;
using I2.Loc;
using MyGame.Scripts;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
namespace MyGame.Scenes.MiniGame.Scripts
{
public class ScrollGameWatchVideoDialog : MonoBehaviour
{
private static readonly string SuccessCallbackTag = "ScrollGameDialogSuccessCallback";
private static readonly string CloseCallbackTag = "ScrollGameDialogCloseCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
[SerializeField] private Animator backgroundAnimator;
[SerializeField] private Button closeButton;
[SerializeField] private Button closeButton2;
[SerializeField] private Button movieButton;
[SerializeField] private GameObject watchMovieObject;
[SerializeField] private GameObject waitObject;
[SerializeField] private Text playCountText;
[SerializeField] private Text timeLimitText;
private void Start()
{
var gameData = GameDataManager.GameData;
var count = Const.ScrollGameDailyPlayMaxCount - gameData.ScrollGameLastPlayTime;
var canWatch = count > 0;
watchMovieObject.SetActive(canWatch);
waitObject.SetActive(canWatch);
playCountText.text = $"{count}";
var limitTime = TimeSpan.Zero;
if (limitTime.TotalSeconds > 0)
{
timeLimitText.text = String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, limitTime.Hours, limitTime.Minutes, limitTime.Seconds);
}
else
{
timeLimitText.text = String.Format(ScriptLocalization.UI.MissionDailyTimeLimit, 0, 0, 0);
}
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
LocalCacheManager.Load<Action>(CloseCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CloseCallbackTag);
transform.parent.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
TransitionManager.Instance.UnloadScene(GameScenes.WatchMovieMiniGame);
});
}).AddTo(this);
closeButton2.OnClickAsObservable().Take(1).Subscribe(_ =>
{
LocalCacheManager.Load<Action>(CloseCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CloseCallbackTag);
transform.parent.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
TransitionManager.Instance.UnloadScene(GameScenes.WatchMovieMiniGame);
});
}).AddTo(this);
movieButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
GetRewardDialog.ShowRewardVideo(GameScenes.WatchMovieMiniGame, AdManager.AD_PLACEMENT_SCROLLGAME, () =>
{
LocalCacheManager.Load<Action>(SuccessCallbackTag, null)?.Invoke();
LocalCacheManager.Remove(SuccessCallbackTag);
});
}).AddTo(this);
}
public static void ShowDialog(Action onSuccess = null, Action onClose = null){
LocalCacheManager.Save(SuccessCallbackTag, onSuccess);
LocalCacheManager.Save(CloseCallbackTag, onClose);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.WatchMovieMiniGame);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b6a5d684a3564f668c71f59291f92fef
timeCreated: 1655963845

View File

@ -1489,6 +1489,57 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 783292223}
m_CullTransparentMesh: 0
--- !u!1 &929930128
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 929930130}
- component: {fileID: 929930129}
m_Layer: 0
m_Name: Manager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &929930129
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 929930128}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b6a5d684a3564f668c71f59291f92fef, type: 3}
m_Name:
m_EditorClassIdentifier:
backgroundAnimator: {fileID: 1298517019}
closeButton: {fileID: 4540746}
closeButton2: {fileID: 468766243}
movieButton: {fileID: 208413211}
watchMovieObject: {fileID: 94292405}
waitObject: {fileID: 1244116848}
playCountText: {fileID: 2013893995}
timeLimitText: {fileID: 62056726}
--- !u!4 &929930130
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 929930128}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1063352196
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -10,6 +10,7 @@ public sealed class AdManager : SingletonMonoBehaviour<AdManager> {
public static readonly string AD_PLACEMENT_PERFECT = "perfect_popcorn";
public static readonly string AD_PLACEMENT_VIP = "vip_customer";
public static readonly string AD_PLACEMENT_AUTO = "auto_popcorn";
public static readonly string AD_PLACEMENT_SCROLLGAME = "scroll_game";
//-- ironSource --//
#if UNITY_IOS