using System; using System.Collections.Generic; using UnityEngine; using XRTool.Util; [CreateAssetMenu(menuName = "WindowConfig")] public class WindowConfig : ScriptableObject { public windowType initShowWindow; public Canvas canvas; public List initComponent; public List windowItemGameObjectList; [Serializable] public abstract class windowItemGameObject { public GameObject window; public windowType type; public abstract List windowItemGameObjectList { get; set; } public windowType parentType; [System.Serializable] public class w1 : windowItemGameObject { public List _childs; public override List windowItemGameObjectList { get { return _childs.ConvertAll(x => x); } set { _childs = value.ConvertAll(x => x as w2); } } } [System.Serializable] public class w2 : windowItemGameObject { public List _childs; public override List windowItemGameObjectList { get { return _childs.ConvertAll(x => x); } set { _childs = value.ConvertAll(x => x as w3); } } } [System.Serializable] public class w3 : windowItemGameObject { public List _childs; public override List windowItemGameObjectList { get { return _childs.ConvertAll(x => x); } set { _childs = value.ConvertAll(x => x as w4); } } } [System.Serializable] public class w4 : windowItemGameObject { public List _childs; public override List windowItemGameObjectList { get { return _childs.ConvertAll(x => x); } set { _childs = value.ConvertAll(x => x as w5); } } } [System.Serializable] public class w5 : windowItemGameObject { public override List windowItemGameObjectList { get { return null; } set { } } } } public enum windowType { Login = 100001, // 登录 Project = 100002, // 项目 XunJian = 200001, // 巡检 XunJianLB = 201001, // 巡检 XunJianStart = 201002, // 巡检 ProjectMain = 200002, // 主页 RTC = 200003, // 远程协助 RTCCall = 203010, // 远程协助等待呼叫页面 RoomMain = 203011, // 远程协助房间 YinDao = 200004, // 引导 PeiXun = 200005, // Demo = 200006, // 临时demo演示 DaoHang = 200007, // 设备导航 Error = 900001, // Tip = 800001, // Tip2 = 800002, // Top = 700001, // } }