Unity3D 开发工具系列 UI框架:UI基类UIBase
Unity3D 开发工具系列 UI框架:UI管理UIManager
Unity3D 开发工具系列 UI框架:MVC模式
Unity3D 开发工具系列 UI框架:遮罩管理UIMaskManager
Unity3D 开发工具系列 UI框架:封装接口UIControl
Unity3D 开发工具系列 UI框架:定义设置Defines
Unity3D 开发工具系列 UI框架:案例项目CaraSynthesis

概述

UIControl

代码实现

using System;
using UnityEngine;
using Epitome.UIFrame;

namespace Epitome
{
    public class UIControl
    {
        // 预加载UI
        public static void PreloadUI(Enum enumType, string prefabPayh, GameObject fatherNode)
        {
            UIManager.Instance.PreloadUI(enumType.ToString(), prefabPayh, fatherNode);
        }
        // 打开UI
        public static void OpenUI(Enum enumType)
        {
            UIManager.Instance.OpenUI(enumType.ToString());
        }
        public static void OpenUI(params Enum[] enumTypes)
        {
            UIManager.Instance.OpenUI(enumTypes.ToStringArray());
        }
        public static void OpenUI(string nameType)
        {
            UIManager.Instance.OpenUI(nameType);
        }
        public static void OpenUI(params string[] nameTypes)
        {
            UIManager.Instance.OpenUI(nameTypes.ToStringArray());
        }
        // 打开UI传入参数
        public static void OpenUI(Enum enumType, params object[] data)
        {
            UIManager.Instance.OpenUI(enumType.ToString(), data);
        }
        public static void OpenUI(string nameType, params object[] data)
        {
            UIManager.Instance.OpenUI(nameType, data);
        }
        // 打开UI并关闭其他UI
        public void OpenUICloseOthers(Enum enumType)
        {
            UIManager.Instance.OpenUICloseOthers(enumType.ToString());
        }
        // 打开UI并关闭其他UI传入参数
        public void OpenUICloseOthers(Enum enumType, params object[] data)
        {
            UIManager.Instance.OpenUICloseOthers(enumType.ToString(), data);
        }
        // 给UI传入参数
        public static void SetUIParams(Enum enumType, params object[] data)
        {
            UIManager.Instance.GetUI<UIBase>(enumType.ToString()).SetUIParams(data);
        }
        // 关闭UI
        public static void CloseUI(Enum enumType)
        {
            UIManager.Instance.CloseUI(enumType.ToString());
        }
        // 关闭UI
        public static void CloseUI(string nameType)
        {
            UIManager.Instance.CloseUI(nameType);
        }

        // 操作相同UI类型 tag 加载不同类型时给定的标识符

        public static void OpenSameKindUI(Enum enumType, string tag)
        {
            UIManager.Instance.OpenSameKindUI(enumType.ToString(), tag, null);
        }

        public static void OpenSameKindUI(Enum enumType, string tag, params object[] data)
        {
            UIManager.Instance.OpenSameKindUI(enumType.ToString(), tag, data);
        }

        public static void CloseSameKindUI(Enum enumType, string tag)
        {
            UIManager.Instance.CloseSameKindUI(enumType.ToString(), tag);
        }

        /// <summary> 关闭所有UI(通过UI框架打开的) </summary>
        public static void CloseAllUI()
        {
            UIManager.Instance.CloseUIAll();
        }
    }
}
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐