| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.SceneManagement;
- using UnityEngine.UI;
- namespace DamageNumbersPro.Demo
- {
- public class DNP_DemoManager : MonoBehaviour
- {
- public static DNP_DemoManager instance;
- Text currentPrefabText;
- Text currentIndexText;
- DamageNumber[] prefabs;
- int currentIndex;
- DNP_PrefabSettings currentSettings;
- CanvasGroup fade;
- bool fadeOut;
- string loadScene;
- void Awake()
- {
- // Reference Single Instance
- instance = this;
- // Get All Prefabs
- Transform parent = GameObject.Find("Special").transform.Find("Prefabs/Damage Numbers");
- prefabs = new DamageNumber[parent.childCount];
- for(int n = 0; n < parent.childCount; n++)
- {
- prefabs[n] = parent.GetChild(n).GetComponent<DamageNumber>();
- }
- parent.gameObject.SetActive(false);
- // Text Components
- Transform guiParent = GameObject.Find("Special").transform.Find("GUI");
- currentPrefabText = guiParent.Find("Background/Current").GetComponent<Text>();
- currentIndexText = guiParent.Find("Background/Index").GetComponent<Text>();
- Transform fadeTransform = transform.Find("GUI/Fade");
- if (fadeTransform != null)
- {
- fade = fadeTransform.GetComponent<CanvasGroup>();
- }
- // Reset Index
- currentIndex = 0;
- UpdateCurrent();
- #if !UNITY_EDITOR && UNITY_WEBGL
- WebGLInput.captureAllKeyboardInput = true;
- #endif
- }
- void Start()
- {
- if(fade != null)
- {
- fade.alpha = 1f;
- }
- }
- void Update()
- {
- float scroll = DNP_InputHandler.GetMouseScroll();
- if (scroll != 0 && (!Cursor.visible || DNP_Camera.instance == null))
- {
- if(scroll > 0.001f)
- {
- currentIndex--;
- if(currentIndex < 0)
- {
- currentIndex = prefabs.Length - 1;
- }
- UpdateCurrent();
- }
- else if(scroll < 0.001f)
- {
- currentIndex++;
- if(currentIndex > prefabs.Length - 1)
- {
- currentIndex = 0;
- }
- UpdateCurrent();
- }
- }
- if(fade != null)
- {
- if(fadeOut)
- {
- fade.alpha += Time.deltaTime * 4;
- if(fade.alpha >= 0.999f)
- {
- SceneManager.LoadScene(loadScene);
- enabled = false;
- }
- return;
- }
- else
- {
- if(fade.alpha > 0)
- {
- fade.alpha -= Time.deltaTime * 3;
- }
- }
- }
- }
- public void SwitchScene(string sceneName)
- {
- fadeOut = true;
- loadScene = sceneName;
- /*foreach(DamageNumber dn in FindObjectsOfType<DamageNumber>())
- {
- dn.DestroyDNP();
- }*/
- if(DNP_Camera.instance != null)
- {
- DNP_Camera.instance.enabled = false;
- }
- DNP_2DDemo demo2D = FindAnyObjectByType<DNP_2DDemo>();
- if(demo2D)
- {
- demo2D.enabled = false;
- }
- if (DNP_GUI.instance != null)
- {
- DNP_GUI.instance.enabled = false;
- }
- }
- void UpdateCurrent()
- {
- currentPrefabText.text = "➞ " + prefabs[currentIndex].name;
- currentIndexText.text = (currentIndex + 1) + "/" + prefabs.Length;
- currentSettings = prefabs[currentIndex].GetComponent<DNP_PrefabSettings>();
- }
- public DamageNumber GetCurrent()
- {
- return prefabs[currentIndex];
- }
- public DNP_PrefabSettings GetSettings()
- {
- if(currentSettings == null)
- {
- currentSettings = prefabs[currentIndex].gameObject.AddComponent<DNP_PrefabSettings>();
- }
- return currentSettings;
- }
- }
- }
|