From 7677bf7ab5f15f55b7e1366f1601e541a9a31f4d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 16 七月 2025 16:30:09 +0800
Subject: [PATCH] 0312 界面层级

---
 Main/Component/UI/Common/FunctionButton.cs |  433 ++++++++++++++++++++++++++---------------------------
 1 files changed, 215 insertions(+), 218 deletions(-)

diff --git a/Main/Component/UI/Common/FunctionButton.cs b/Main/Component/UI/Common/FunctionButton.cs
index 701fa79..b4718f1 100644
--- a/Main/Component/UI/Common/FunctionButton.cs
+++ b/Main/Component/UI/Common/FunctionButton.cs
@@ -1,262 +1,259 @@
-锘�// //--------------------------------------------------------
-// //    [Author]:           绗簩涓栫晫
-// //    [  Date ]:           Tuesday, October 31, 2017
-// //--------------------------------------------------------
-// using UnityEngine;
-// using System.Collections;
-// using UnityEngine.UI;
-// using UnityEngine.Events;
-// using UnityEngine.EventSystems;
+锘�//--------------------------------------------------------
+//    [Author]:           鐜╀釜娓告垙
+//    [  Date ]:           Tuesday, October 31, 2017
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using UnityEngine.Events;
+using UnityEngine.EventSystems;
 
-// using System;
+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;
-//             }
-//         }
+    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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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);
-//                 }
-//             }
-//         }
+        [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;
+        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 Awake()
+        {
+#if UNITY_EDITOR
+            if (!Application.isPlaying) return;
+#endif
+            OnFunctionUnLockStateChange();
+            FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionUnLockStateChange;
+        }
 
-//         protected override void OnEnable()
-//         {
-//             base.OnEnable();
+        protected override void OnEnable()
+        {
+            base.OnEnable();
 
-//             if (group != null)
-//             {
-//                 group.Register(this);
-//             }
+            if (group != null)
+            {
+                group.Register(this);
+            }
 
-//             OnStateChange();
-//         }
+            OnStateChange();
+        }
 
-//         protected override void OnDisable()
-//         {
-//             base.OnDisable();
+        protected override void OnDisable()
+        {
+            base.OnDisable();
 
-//             if (group != null)
-//             {
-//                 group.UnRegister(this);
-//             }
-//         }
+            if (group != null)
+            {
+                group.UnRegister(this);
+            }
+        }
 
-//         protected override void OnDestroy()
-//         {
-// #if UNITY_EDITOR
-//             if (!Application.isPlaying) return;
-// #endif
-//             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionUnLockStateChange;
-//         }
+        protected override void OnDestroy()
+        {
+#if UNITY_EDITOR
+            if (!Application.isPlaying) return;
+#endif
+            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionUnLockStateChange;
+        }
 
-//         bool invokeForce = false;
+        bool invokeForce = false;
 
-//         public void Invoke(bool _force)
-//         {
-//             invokeForce = _force;
-//             OnPointerClick(null);
-//             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;
-//             }
+        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 (!invokeForce && state == TitleBtnState.Click)
+            {
+                if (repeatClickFunc != null)
+                {
+                    repeatClickFunc();
+                }
+                return;
+            }
 
-//             if (base.onClick != null)
-//             {
-//                 base.onClick.Invoke();
-//                 if (eventData != null)
-//                 {
-//                     SoundPlayer.Instance.PlayUIAudio(clickAudio);
-//                 }
-//             }
+            if (base.onClick != null)
+            {
+                base.onClick.Invoke();
+                if (eventData != null)
+                {
+                    SoundPlayer.Instance.PlayUIAudio(clickAudio);
+                }
+            }
 
-//             state = TitleBtnState.Click;
-//         }
+            state = TitleBtnState.Click;
+        }
 
-//         private void OnStateChange()
-//         {
-//             var config = useDefaultConfig ? FunctionButtonConfig.GetDefault() : m_AlternativeConfig;
-//             if (Application.isPlaying)
-//             {
-//                 icon.SetSprite(config.GetIconKey(state));
-//             }
+        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);
+            title.color = config.GetFontColor(state);
+            title.fontSize = config.GetFontSize(state);
 
-//             if (shadow != null)
-//             {
-//                 shadow.enabled = state == TitleBtnState.Locked || state == TitleBtnState.Normal;
-//             }
+            if (shadow != null)
+            {
+                shadow.enabled = state == TitleBtnState.Locked || state == TitleBtnState.Normal;
+            }
 
-//             if (locked != null)
-//             {
-//                 locked.SetActive(state == TitleBtnState.Locked);
-//             }
+            if (locked != null)
+            {
+                locked.SetActive(state == TitleBtnState.Locked);
+            }
 
-//             if (group != null && state == TitleBtnState.Click)
-//             {
-//                 group.NotifyToggleOn(this);
-//             }
-//         }
+            if (group != null && state == TitleBtnState.Click)
+            {
+                group.NotifyToggleOn(this);
+            }
+        }
 
-//         private void OnFunctionUnLockStateChange(int _functionId)
-//         {
-//             if (m_FunctionId == _functionId)
-//             {
-//                 OnFunctionUnLockStateChange();
-//             }
-//         }
+        private void OnFunctionUnLockStateChange(int _functionId)
+        {
+            if (m_FunctionId == _functionId)
+            {
+                OnFunctionUnLockStateChange();
+            }
+        }
 
-//         private void OnFunctionUnLockStateChange()
-//         {
-//             if (m_FunctionId == 0)
-//             {
-//                 return;
-//             }
+        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;
-//         }
+            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
+#if UNITY_EDITOR
+        protected override void OnValidate()
+        {
+            base.OnValidate();
+            OnStateChange();
+        }
+#endif
 
-//     }
+    }
 
-// }
 
 
 

--
Gitblit v1.8.0