一套UGUI的小框架用一篇文章显然是不够的,因为会很长很长大约有上万字,想必读者也没有那个耐心一点点读完(主要是我也懒),所以我就将其分为三个部分
基础分析篇
功能撰写与优化篇
扩展与总结篇
我将其都放在了同一个专栏下面,有兴趣可以在阅读页面的侧边栏找到并阅读
我们都需要什么
直接上图
三个部分
我先创建出这三个类,具体实现待我细细分析
1.面板基类
其负责所有窗口的基础行为,比如加载(第一次实例化),关闭,再打开
因此很适合抽象类
C# 面向对象补全计划 两步分清抽象类和接口-CSDN博客
cs
public abstract class BasePanel {
//实例化窗口
public void CreatWnd(string wndName,Transform canvas)
{
}
//打开窗口
public void OpenWnd()
{
}
//关闭窗口
public void CloseWnd() {
}
}
2.各种面板类
继承面板基类,不但有基类中的所有行为,还可以有自己的行为
cs
public class TestPanel:BasePanel
{
//在这里可以写TestWnd自己的逻辑
}
3.面板管理类
通过该类去管理所有面板,因为面板基类是被用来继承的,各种子类才是需要被控制的,当面板子类多的时候在其类中单独控制显然不太好,因此需要一个面板管理类
cs
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class PanelManager:MonoBehaviour
{
private void Start() {
}
private void Update() {
}
}