using AFeijia.UI; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MiniCanvasManager : PanelBasic { public static MiniCanvasManager Instance; public Button max_button; public Button min_button; public Toggle topping_button; //public Toggle api_button; //public Toggle task_button; //public Toggle spark_button; //工具按钮 public ToolItem api_button; public ToolItem task_button; public ToolItem spark_button; public GameObject 整体背景; /// /// 当前打开的工具 /// public ToolItem selected_tool_item; /// /// 是否为展开面板(mini展开) /// public bool is_middle;//公共属性导致不同界面切换异常 #region Panels /// /// API /// public ApiPanel api_panel; public ApiDetailPanel api_detail_panel; /// /// 任务面板 /// public TaskPanel task_panel; /// /// 星火大模型 /// public SparkModelPanel spark_panel; //public static #endregion public PanelBasic selected_panel; protected override void Awake() { base.Awake(); Instance = this; } protected override void OnEnable() { base.OnEnable(); if (topping_button && WindowManager.Instance) topping_button.SetIsOnWithoutNotify(WindowManager.Instance.is_topping); } // Start is called before the first frame update void Start() { max_button.onClick.AddListener(整体背景.GetComponent().Function_切换max); //min_button.onClick.AddListener(OnMin); topping_button.onValueChanged.AddListener(OnTopping); api_button.toggle.onValueChanged.AddListener(OnApi); task_button.toggle.onValueChanged.AddListener(OnTask); spark_button.toggle.onValueChanged.AddListener(OnSpark); //task_panel.score_text.text = "分数:" + ScoreManager.Instance.total_score.ToString(); //toggle group ,切换时会先关闭上次选中再打开本次选中, api_panel.Init(api_detail_panel); } /// /// 切换大窗口模式 /// public void OnMax() { WindowManager.Instance.SwitchResolution(WindowManager.ScreenResolution.MAX_SCREEN); //切换回大窗口后取消置顶状态 WindowManager.Instance.Topping(false); } public void OnMin() { WindowManager.Instance.MinWindow(); } private void OnTopping(bool _ison) { WindowManager.Instance.Topping(_ison); } public void OnApi(bool _ison) { if (_ison) { if (selected_tool_item == null) { WindowManager.Instance.SwitchResolution(api_button.resolution); } else { selected_tool_item.toggle.SetIsOnWithoutNotify(false); if (selected_tool_item.resolution != api_button.resolution) { WindowManager.Instance.SwitchResolution(api_button.resolution); } } selected_tool_item = api_button; if (selected_panel != null) selected_panel.OnNagetive(); api_panel.OnActive(); selected_panel = api_panel; } else { if (selected_tool_item == api_button) { selected_tool_item = null; WindowManager.Instance.SwitchResolution(WindowManager.ScreenResolution.MINI_SCREEN); } else { } selected_panel = null; api_panel.OnNagetive(); } } public void OnTask(bool _ison) { if (_ison) { if (selected_tool_item == null) { WindowManager.Instance.SwitchResolution(task_button.resolution); } else { selected_tool_item.toggle.SetIsOnWithoutNotify(false); if (selected_tool_item.resolution != task_button.resolution) { WindowManager.Instance.SwitchResolution(task_button.resolution); } } selected_tool_item = task_button; if (selected_panel != null) selected_panel.OnNagetive(); task_panel.OnActive(); selected_panel = task_panel; } else { if (selected_tool_item == task_button) { selected_tool_item = null; WindowManager.Instance.SwitchResolution(WindowManager.ScreenResolution.MINI_SCREEN); } else { } selected_panel = null; task_panel.OnNagetive(); } } public void OnSpark(bool _ison) { if (_ison) { if (selected_tool_item == null) { WindowManager.Instance.SwitchResolution(spark_button.resolution); } else { selected_tool_item.toggle.SetIsOnWithoutNotify(false); if (selected_tool_item.resolution != spark_button.resolution) { WindowManager.Instance.SwitchResolution(spark_button.resolution); } } selected_tool_item = spark_button; if (selected_panel != null) selected_panel.OnNagetive(); selected_panel = spark_panel; spark_panel.OnActive(); } else { if (selected_tool_item == spark_button) { selected_tool_item = null; WindowManager.Instance.SwitchResolution(WindowManager.ScreenResolution.MINI_SCREEN); } else { } spark_panel.OnNagetive(); } } }