// //--------------------------------------------------------
|
// // [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<string> 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
|
|
// }
|
|
// }
|