You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlumberUltimateAds/Assets/Scripts/DialogOverlay.cs

70 lines
1.6 KiB
C#

2 months ago
/*
http://www.cgsoso.com/forum-211-1.html
CG Unity3d Unity3d VIP
CGSOSO CG
daily assets update for try.
U should buy the asset from home store if u use it in your project!
*/
using System;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class DialogOverlay : MonoBehaviour
{
private Image overlay;
private void Awake()
{
overlay = GetComponent<Image>();
}
private void Start()
{
DialogController instance = DialogController.instance;
instance.onDialogsOpened = (Action)Delegate.Combine(instance.onDialogsOpened, new Action(OnDialogOpened));
DialogController instance2 = DialogController.instance;
instance2.onDialogsClosed = (Action)Delegate.Combine(instance2.onDialogsClosed, new Action(OnDialogClosed));
}
private void OnEnable()
{
SceneManager.sceneLoaded += OnLevelFinishedLoading;
}
private void OnDisable()
{
SceneManager.sceneLoaded -= OnLevelFinishedLoading;
}
private void OnLevelFinishedLoading(Scene scene, LoadSceneMode mode)
{
overlay.enabled = false;
}
private void OnDialogOpened()
{
overlay.enabled = true;
}
private void OnDialogClosed()
{
overlay.enabled = false;
}
private void OnDestroy()
{
DialogController instance = DialogController.instance;
instance.onDialogsOpened = (Action)Delegate.Remove(instance.onDialogsOpened, new Action(OnDialogOpened));
DialogController instance2 = DialogController.instance;
instance2.onDialogsClosed = (Action)Delegate.Remove(instance2.onDialogsClosed, new Action(OnDialogClosed));
}
}