From 1ec983f61def3ad0ee85da87b197259c054644dd Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 25 八月 2025 18:55:44 +0800
Subject: [PATCH] 125 战斗 技能bug修复
---
Main/Component/UI/Common/FunctionButtonGroup.cs | 462 ++++++++++++++++++++++++++++----------------------------
1 files changed, 231 insertions(+), 231 deletions(-)
diff --git a/Main/Component/UI/Common/FunctionButtonGroup.cs b/Main/Component/UI/Common/FunctionButtonGroup.cs
index 58e4ace..3e8aee6 100644
--- a/Main/Component/UI/Common/FunctionButtonGroup.cs
+++ b/Main/Component/UI/Common/FunctionButtonGroup.cs
@@ -1,269 +1,269 @@
-锘�// //--------------------------------------------------------
-// // [Author]: 绗簩涓栫晫
-// // [ Date ]: Tuesday, October 31, 2017
-// //--------------------------------------------------------
-// using UnityEngine;
-// using System.Collections;
-// using System.Collections.Generic;
-// using UnityEngine.UI;
-// using UnityEngine.Events;
+锘�//--------------------------------------------------------
+// [Author]: 鐜╀釜娓告垙
+// [ Date ]: Tuesday, October 31, 2017
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine.UI;
+using UnityEngine.Events;
+using System;
-// namespace vnxbqy.UI
-// {
+//鍏宠仈娓告垙鐜╂硶鍔熻兘鎸夐挳锛屽鍗囨槦鍔熻兘
+public class FunctionButtonGroup : MonoBehaviour
+{
+ [SerializeField] ScrollRect m_ScrollRect;
+ [SerializeField] RectTransform m_Container;
-// public class FunctionButtonGroup : MonoBehaviour
-// {
-// [SerializeField] ScrollRect m_ScrollRect;
-// [SerializeField] RectTransform m_Container;
+ public int unLockedCount
+ {
+ get
+ {
+ var count = 0;
+ foreach (var button in functionButtons.Values)
+ {
+ if (button.state != TitleBtnState.Locked)
+ {
+ count++;
+ }
+ }
-// public int unLockedCount {
-// get {
-// var count = 0;
-// foreach (var button in functionButtons.Values)
-// {
-// if (button.state != TitleBtnState.Locked)
-// {
-// count++;
-// }
-// }
+ return count;
+ }
+ }
-// return count;
-// }
-// }
+ int currentOrder = 0;
+ List<int> orders = new List<int>();
+ Dictionary<int, FunctionButton> functionButtons = new Dictionary<int, FunctionButton>();
-// int currentOrder = 0;
-// List<int> orders = new List<int>();
-// Dictionary<int, FunctionButton> functionButtons = new Dictionary<int, FunctionButton>();
+ public void Register(FunctionButton button)
+ {
+ functionButtons[button.order] = button;
+ if (!orders.Contains(button.order))
+ {
+ orders.Add(button.order);
+ orders.Sort(OrderCompare);
+ }
-// public void Register(FunctionButton button)
-// {
-// functionButtons[button.order] = button;
-// if (!orders.Contains(button.order))
-// {
-// orders.Add(button.order);
-// orders.Sort(OrderCompare);
-// }
+ if (m_ScrollRect != null)
+ {
+ m_ScrollRect.horizontal = functionButtons.Count > 5;
+ }
+ }
-// if (m_ScrollRect != null)
-// {
-// m_ScrollRect.horizontal = functionButtons.Count > 5;
-// }
-// }
+ public void ChangeHorizontal(bool move)
+ {
+ if (m_ScrollRect != null)
+ {
+ m_ScrollRect.horizontal = move;
+ }
+ }
-// public void ChangeHorizontal(bool move)
-// {
-// if (m_ScrollRect != null)
-// {
-// m_ScrollRect.horizontal = move;
-// }
-// }
+ public void ChangeHorizontalPos(float index)
+ {
+ if (m_ScrollRect != null)
+ {
+ m_ScrollRect.horizontalNormalizedPosition = index;
+ }
+ }
+ public void UnRegister(FunctionButton button)
+ {
+ if (functionButtons.ContainsKey(button.order))
+ {
+ functionButtons.Remove(button.order);
+ }
-// public void ChangeHorizontalPos(float index)
-// {
-// if (m_ScrollRect != null)
-// {
-// m_ScrollRect.horizontalNormalizedPosition = index;
-// }
-// }
-// public void UnRegister(FunctionButton button)
-// {
-// if (functionButtons.ContainsKey(button.order))
-// {
-// functionButtons.Remove(button.order);
-// }
+ if (orders.Contains(button.order))
+ {
+ orders.Remove(button.order);
+ orders.Sort(OrderCompare);
+ }
-// if (orders.Contains(button.order))
-// {
-// orders.Remove(button.order);
-// orders.Sort(OrderCompare);
-// }
+ if (m_ScrollRect != null)
+ {
+ m_ScrollRect.horizontal = functionButtons.Count > 5;
+ }
+ }
-// if (m_ScrollRect != null)
-// {
-// m_ScrollRect.horizontal = functionButtons.Count > 5;
-// }
-// }
+ public void NotifyToggleOn(FunctionButton button)
+ {
-// public void NotifyToggleOn(FunctionButton button)
-// {
+ if (button.state == TitleBtnState.Click)
+ {
+ currentOrder = button.order;
+ for (int i = 0; i < orders.Count; i++)
+ {
+ if (!functionButtons.ContainsKey(orders[i]))
+ {
+ Debug.LogFormat("<color=#ff0000ff>{0} {1}</color>", orders[i], button.name);
+ }
+ var functionButton = functionButtons[orders[i]];
+ if (functionButton != button && functionButton.state != TitleBtnState.Locked)
+ {
+ functionButton.state = TitleBtnState.Normal;
+ }
+ }
+ }
+ }
-// if (button.state == TitleBtnState.Click)
-// {
-// currentOrder = button.order;
-// for (int i = 0; i < orders.Count; i++)
-// {
-// if (!functionButtons.ContainsKey(orders[i]))
-// {
-// Debug.LogFormat("<color=#ff0000ff>{0} {1}</color>", orders[i], button.name);
-// }
-// var functionButton = functionButtons[orders[i]];
-// if (functionButton != button && functionButton.state != TitleBtnState.Locked)
-// {
-// functionButton.state = TitleBtnState.Normal;
-// }
-// }
-// }
-// }
+ public void TriggerByOrder(int targetOrder)
+ {
+ for (int i = 0; i < orders.Count; i++)
+ {
+ var order = orders[i];
+ if (order == targetOrder)
+ {
+ functionButtons[order].Invoke(true);
+ break;
+ }
+ }
+ }
-// public void TriggerByOrder(int targetOrder)
-// {
-// for (int i = 0; i < orders.Count; i++)
-// {
-// var order = orders[i];
-// if (order == targetOrder)
-// {
-// functionButtons[order].Invoke(true);
-// break;
-// }
-// }
-// }
+ public void TriggerLast()
+ {
+ var index = orders.IndexOf(currentOrder);
+ if (index < 0)
+ {
+ return;
+ }
-// public void TriggerLast()
-// {
-// var index = orders.IndexOf(currentOrder);
-// if (index < 0)
-// {
-// return;
-// }
+ var loopTimes = 0;
+ while (loopTimes < 2)
+ {
+ index--;
+ if (index < 0)
+ {
+ index = orders.Count - 1;
+ loopTimes++;
+ }
-// var loopTimes = 0;
-// while (loopTimes < 2)
-// {
-// index--;
-// if (index < 0)
-// {
-// index = orders.Count - 1;
-// loopTimes++;
-// }
+ var next = orders[index];
+ if (functionButtons[next].state != TitleBtnState.Locked)
+ {
+ functionButtons[next].Invoke(false);
+ break;
+ }
+ }
-// var next = orders[index];
-// if (functionButtons[next].state != TitleBtnState.Locked)
-// {
-// functionButtons[next].Invoke(false);
-// break;
-// }
-// }
+ }
-// }
+ public void TriggerNext()
+ {
+ var index = orders.IndexOf(currentOrder);
+ if (index < 0)
+ {
+ return;
+ }
-// public void TriggerNext()
-// {
-// var index = orders.IndexOf(currentOrder);
-// if (index < 0)
-// {
-// return;
-// }
+ var loopTimes = 0;
+ while (loopTimes < 2)
+ {
+ index++;
+ if (index > orders.Count - 1)
+ {
+ index = 0;
+ loopTimes++;
+ }
-// var loopTimes = 0;
-// while (loopTimes < 2)
-// {
-// index++;
-// if (index > orders.Count - 1)
-// {
-// index = 0;
-// loopTimes++;
-// }
+ var next = orders[index];
+ if (functionButtons[next].state != TitleBtnState.Locked)
+ {
+ functionButtons[next].Invoke(false);
+ break;
+ }
+ }
+ }
-// var next = orders[index];
-// if (functionButtons[next].state != TitleBtnState.Locked)
-// {
-// functionButtons[next].Invoke(false);
-// break;
-// }
-// }
-// }
+ public bool IsFirst()
+ {
+ return orders.Count > 0 && currentOrder == orders[0];
+ }
-// public bool IsFirst()
-// {
-// return orders.Count > 0 && currentOrder == orders[0];
-// }
+ public bool IsLast()
+ {
+ return orders.Count > 0 && currentOrder == orders[orders.Count - 1];
+ }
-// public bool IsLast()
-// {
-// return orders.Count > 0 && currentOrder == orders[orders.Count - 1];
-// }
+ public void GotoOrder(int order)
+ {
+ if (m_ScrollRect != null)
+ {
+ var index = orders.IndexOf(order);
+ if (m_ScrollRect.horizontal)
+ {
+ m_ScrollRect.horizontalNormalizedPosition = (float)index / orders.Count;
+ }
+ else if (m_ScrollRect.vertical)
+ {
+ m_ScrollRect.verticalNormalizedPosition = (float)index / orders.Count;
+ }
+ }
+ }
-// public void GotoOrder(int order)
-// {
-// if (m_ScrollRect != null)
-// {
-// var index = orders.IndexOf(order);
-// if (m_ScrollRect.horizontal)
-// {
-// m_ScrollRect.horizontalNormalizedPosition = (float)index / orders.Count;
-// }
-// else if (m_ScrollRect.vertical)
-// {
-// m_ScrollRect.verticalNormalizedPosition = (float)index / orders.Count;
-// }
-// }
-// }
+ private int OrderCompare(int a, int b)
+ {
+ return a < b ? -1 : 1;
+ }
-// private int OrderCompare(int a, int b)
-// {
-// return a < b ? -1 : 1;
-// }
+ public FunctionButton AddFunction(string pattern, int order, int functionId, string title, int redpointId)
+ {
+ if (m_Container == null)
+ {
+ return null;
+ }
-// public FunctionButton AddFunction(string pattern, int order, int functionId, string title, int redpointId)
-// {
-// if (m_Container == null)
-// {
-// return null;
-// }
+ var instance = UIUtility.CreateWidget(pattern, string.Concat("Function_", order));
+ instance.transform.SetParentEx(this.m_Container, Vector3.zero, Quaternion.identity, Vector3.one);
-// var instance = UIUtility.CreateWidget(pattern, string.Concat("Function_", order));
-// instance.transform.SetParentEx(this.m_Container, Vector3.zero, Quaternion.identity, Vector3.one);
+ var functionButton = instance.GetComponent<FunctionButton>();
+ functionButton.functionId = functionId;
+ functionButton.order = order;
+ functionButton.title.text = title;
-// var functionButton = instance.GetComponent<FunctionButton>();
-// functionButton.functionId = functionId;
-// functionButton.order = order;
-// functionButton.title.text = title;
+ functionButton.group = this;
+ functionButton.redpoint.redpointId = redpointId;
+ functionButtons[order] = functionButton;
-// functionButton.group = this;
-// functionButton.redpoint.redpointId = redpointId;
-// functionButtons[order] = functionButton;
+ functionButton.SetActive(functionButton.functionId != -1);
+ return functionButton;
+ }
-// functionButton.SetActive(functionButton.functionId != -1);
-// return functionButton;
-// }
+ public void SetFunctionListener(int order, Action callBack)
+ {
+ if (functionButtons.ContainsKey(order))
+ {
+ functionButtons[order].SetListener(() => callBack?.Invoke());
+ }
+ }
-// public void SetFunctionListener(int order, UnityAction callBack)
-// {
-// if (functionButtons.ContainsKey(order))
-// {
-// functionButtons[order].SetListener(callBack);
-// }
-// }
+ public void SetFunctionButtonActive(int order, bool isShow)
+ {
+ if (functionButtons.ContainsKey(order))
+ {
+ functionButtons[order].SetActive(isShow);
+ }
+ }
-// public void SetFunctionButtonActive(int order, bool isShow)
-// {
-// if (functionButtons.ContainsKey(order))
-// {
-// functionButtons[order].SetActive(isShow);
-// }
-// }
+ public RedPointState GetFunctionButtonRedPointState(int order)
+ {
+ if (functionButtons.ContainsKey(order))
+ {
+ return RedpointCenter.Instance.GetRedpointState(functionButtons[order].redpoint.redpointId);
+ }
-// public RedPointState GetFunctionButtonRedPointState(int order)
-// {
-// if (functionButtons.ContainsKey(order))
-// {
-// return RedpointCenter.Instance.GetRedpointState(functionButtons[order].redpoint.redpointId);
-// }
+ return RedPointState.None;
+ }
-// return RedPointState.None;
-// }
+ public FunctionButton GetFunctionBtn(int order)
+ {
+ if (functionButtons.ContainsKey(order))
+ {
+ return functionButtons[order];
+ }
+ return null;
+ }
+}
-// public FunctionButton GetFunctionBtn(int order)
-// {
-// if (functionButtons.ContainsKey(order))
-// {
-// return functionButtons[order];
-// }
-// return null;
-// }
-// }
-
-// }
--
Gitblit v1.8.0