using UnityEngine; using UnityEngine.UI; namespace TyphoonUI { /// /// 画布 /// [RequireComponent(typeof(RectTransform))] [RequireComponent(typeof(Canvas))] [RequireComponent(typeof(CanvasScaler))] [RequireComponent(typeof(GraphicRaycaster))] [RequireComponent(typeof(CanvasGroup))] public class UICanvas : MonoBehaviour { public enum PanelMode { Single = 0, //单面板模式 Multiple, //多面板模式 } public Canvas Canvas; public CanvasScaler CanvasScaler; public GraphicRaycaster GraphicRaycaster; public CanvasGroup CanvasGroup; public CanvasLayer Layer = CanvasLayer.Bottom; public PanelMode Mode = PanelMode.Single; private void Reset() { LoadComponent(); } public void LoadComponent() { Canvas = transform.GetComponent(); CanvasScaler = transform.GetComponent(); GraphicRaycaster = transform.GetComponent(); CanvasGroup = transform.GetComponent(); } } }