using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using LeoLuz.Extensions; namespace LeoLuz.PlugAndPlayJoystick { public class ButtonBase : MonoBehaviour { public static List ButtonsList; public virtual void Start() { initialize(); } protected void initialize() { if (ButtonsList == null) ButtonsList = new List(); ButtonsList.Add(this); } public virtual void Disable() { var img = GetComponent(); if (img != null) img.enabled = false; } public virtual void Enable() { var img = GetComponent(); if (img != null) img.enabled = true; } //public static ButtonBase GetButtonOrKnob(string name) //{ // for (int i = 0; i < ButtonsList.Count; i++) // { // if (ButtonsList[i].gameObject.name == name) // return ButtonsList[i]; // } // return null; //} //public void Disable(float fadeOutDuration = 0f) //{ // enabled = false; // GetComponent().CrossFadeAlpha(0f, fadeOutDuration, true); //} //public void Enable(float fadeInDuration = 0f) //{ // enabled = true; // GetComponent().CrossFadeAlpha(1f, fadeInDuration, true); //} //public void Pulse(float intensity, float duration) //{ // GetComponent().Pulse(intensity, duration); //} //public static void DisableButton(string name, float fadeOutDuration=0f) //{ // var obj = GetButtonOrKnob(name); // if (obj != null) // obj.Disable(fadeOutDuration); //} //public static void EnableButton(string name, float fadeOutDuration = 0f) //{ // var obj = GetButtonOrKnob(name); // if (obj != null) // obj.Enable(fadeOutDuration); //} } }