// //-------------------------------------------------------- // // [Author]: 第二世界 // // [ Date ]: Tuesday, October 31, 2017 // //-------------------------------------------------------- // using UnityEngine; // using System.Collections; // using UnityEngine.UI; // using UnityEngine.Events; // using UnityEngine.EventSystems; // using System; // namespace vnxbqy.UI // { // public class FunctionButton : Button // { // [SerializeField] int m_Order = 0; // public int order { // get { return m_Order; } // set { // m_Order = value; // } // } // [SerializeField] int m_FunctionId = -1; // public int functionId { // get { return m_FunctionId; } // set { // m_FunctionId = value; // OnFunctionUnLockStateChange(); // } // } // [SerializeField] TitleBtnState m_State = TitleBtnState.Normal; // public TitleBtnState state { // get { return m_State; } // set { // if (m_State != value) // { // m_State = value; // OnStateChange(); // } // } // } // [SerializeField] Button m_Button; // public Button button { // get { return m_Button; } // set { m_Button = value; } // } // [SerializeField] ImageEx m_Icon; // public ImageEx icon { // get { return this.m_Icon; } // set { this.m_Icon = value; } // } // [SerializeField] TextEx m_Title; // public TextEx title { // get { return this.m_Title; } // set { this.m_Title = value; } // } // [SerializeField] RedpointBehaviour m_Redpoint; // public RedpointBehaviour redpoint { // get { return m_Redpoint; } // set { m_Redpoint = value; } // } // [SerializeField] Shadow m_Shadow; // public Shadow shadow { // get { return this.m_Shadow; } // set { this.m_Shadow = value; } // } // [SerializeField] Transform m_Locked; // public Transform locked { // get { return this.m_Locked; } // set { this.m_Locked = value; } // } // [SerializeField] int m_Audio = 1; // public int clickAudio { // get { return this.m_Audio; } // set { this.m_Audio = value; } // } // [SerializeField] bool m_UseDefaultConfig = true; // public bool useDefaultConfig { // get { return this.m_UseDefaultConfig; } // set { this.m_UseDefaultConfig = value; } // } // [SerializeField] FunctionButtonConfig m_AlternativeConfig; // public FunctionButtonConfig alternativeConfig { get { return m_AlternativeConfig; } set { m_AlternativeConfig = value; } } // [SerializeField] // FunctionButtonGroup m_Group; // public FunctionButtonGroup group { // get { return m_Group; } // set { // if (m_Group != null) // { // m_Group.UnRegister(this); // } // m_Group = value; // if (m_Group != null) // { // m_Group.Register(this); // } // } // } // public event Action OnPointClickLockFunc; // public event Action repeatClickFunc; // protected override void Awake() // { // #if UNITY_EDITOR // if (!Application.isPlaying) return; // #endif // OnFunctionUnLockStateChange(); // FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionUnLockStateChange; // } // protected override void OnEnable() // { // base.OnEnable(); // if (group != null) // { // group.Register(this); // } // OnStateChange(); // } // protected override void OnDisable() // { // base.OnDisable(); // if (group != null) // { // group.UnRegister(this); // } // } // protected override void OnDestroy() // { // #if UNITY_EDITOR // if (!Application.isPlaying) return; // #endif // FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionUnLockStateChange; // } // bool invokeForce = false; // public void Invoke(bool _force) // { // invokeForce = _force; // OnPointerClick(null); // invokeForce = false; // } // public override void OnPointerClick(PointerEventData eventData) // { // if (state == TitleBtnState.Locked) // { // if (OnPointClickLockFunc != null) // { // OnPointClickLockFunc(this.gameObject.name); // } // else // { // FuncOpen.Instance.ProcessorFuncErrorTip(functionId); // } // return; // } // if (!invokeForce && state == TitleBtnState.Click) // { // if (repeatClickFunc != null) // { // repeatClickFunc(); // } // return; // } // if (base.onClick != null) // { // base.onClick.Invoke(); // if (eventData != null) // { // SoundPlayer.Instance.PlayUIAudio(clickAudio); // } // } // state = TitleBtnState.Click; // } // private void OnStateChange() // { // var config = useDefaultConfig ? FunctionButtonConfig.GetDefault() : m_AlternativeConfig; // if (Application.isPlaying) // { // icon.SetSprite(config.GetIconKey(state)); // } // title.color = config.GetFontColor(state); // title.fontSize = config.GetFontSize(state); // if (shadow != null) // { // shadow.enabled = state == TitleBtnState.Locked || state == TitleBtnState.Normal; // } // if (locked != null) // { // locked.SetActive(state == TitleBtnState.Locked); // } // if (group != null && state == TitleBtnState.Click) // { // group.NotifyToggleOn(this); // } // } // private void OnFunctionUnLockStateChange(int _functionId) // { // if (m_FunctionId == _functionId) // { // OnFunctionUnLockStateChange(); // } // } // private void OnFunctionUnLockStateChange() // { // if (m_FunctionId == 0) // { // return; // } // var isOpen = m_FunctionId == -1 || FuncOpen.Instance.IsFuncOpen(m_FunctionId); // state = isOpen ? state == TitleBtnState.Click ? TitleBtnState.Click : TitleBtnState.Normal : TitleBtnState.Locked; // } // #if UNITY_EDITOR // protected override void OnValidate() // { // base.OnValidate(); // OnStateChange(); // } // #endif // } // }