// --------------------------------------------------------------------------------------------------------------------
//
// Part of: Photon Unity Demos
//
//
// Present a button on all launched demos from hub to allow getting back to the demo hub.
//
// developer@exitgames.com
// --------------------------------------------------------------------------------------------------------------------
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.EventSystems;
namespace Photon.Pun.Demo.Hub
{
///
/// Present a button on all launched demos from hub to allow getting back to the demo hub.
///
public class ToDemoHubButton : MonoBehaviour
{
private static ToDemoHubButton instance;
CanvasGroup _canvasGroup;
public static ToDemoHubButton Instance
{
get
{
if (instance == null)
{
instance = FindObjectOfType(typeof (ToDemoHubButton)) as ToDemoHubButton;
}
return instance;
}
}
public void Awake()
{
if (Instance != null && Instance != this)
{
Destroy(gameObject);
}
}
// Use this for initialization
public void Start()
{
DontDestroyOnLoad(gameObject);
_canvasGroup = GetComponent();
}
public void Update()
{
bool sceneZeroLoaded = false;
#if UNITY_5 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2 || UNITY_5_3_OR_NEWER
sceneZeroLoaded = SceneManager.GetActiveScene().buildIndex == 0;
#else
sceneZeroLoaded = Application.loadedLevel == 0;
#endif
if (sceneZeroLoaded && _canvasGroup.alpha!= 0f)
{
_canvasGroup.alpha = 0f;
_canvasGroup.interactable = false;
}
if (!sceneZeroLoaded && _canvasGroup.alpha!= 1f)
{
_canvasGroup.alpha = 1f;
_canvasGroup.interactable = true;
}
}
public void BackToHub()
{
PhotonNetwork.Disconnect();
SceneManager.LoadScene(0);
}
}
}