using System.Collections; using System.Collections.Generic; using UnityEngine; public class SceneUtil : ActionBase { public Color color01; public Color color02; // 辅助方法,用于初始化图标和相机列表 private void InitializeIconAndCameraLists(string iconName, string cameraName, List iconList, List cameraList, string[] deviceSns, string[] iconNames, string[] identifiers) { iconList.Clear(); cameraList.Clear(); Transform icon = transform.Find(iconName); Transform iconCamera = transform.Find(cameraName); if (icon != null && iconCamera != null) { int count = Mathf.Min(icon.childCount, deviceSns.Length, iconNames.Length); for (int i = 0; i < count; i++) { Transform currentIcon = icon.GetChild(i); Transform currentCamera = iconCamera.GetChild(i); // 获取当前索引对应的设备信息 string deviceSn = deviceSns[i]; string name = iconNames[i]; string identifier = identifiers[i]; // 创建 IconData 实例并添加到 iconList IconData iconData = new IconData(deviceSn, name, identifier, currentIcon, currentCamera.name, currentCamera); iconList.Add(iconData); cameraList.Add(currentCamera); } icon.gameObject.SetActive(false); iconCamera.gameObject.SetActive(false); } } public override void Init() { // 确保 AppCache 中的列表类型为 List if (AppCache.iconPointList01 == null) AppCache.iconPointList01 = new List(); if (AppCache.iconPointList02 == null) AppCache.iconPointList02 = new List(); if (AppCache.iconPointList03 == null) AppCache.iconPointList03 = new List(); if (AppCache.iconPointList04 == null) AppCache.iconPointList04 = new List(); // 初始化 GNSS 相关列表(12个设备) InitializeIconAndCameraLists("GNSS", "GNSS视角", AppCache.iconPointList01, AppCache.iconCameraList01, new string[] { "MS3P1474091067", "MS3P1474091121", "MS3P1474091071", "MS3P1474095003", "MS3P1474091068", "MS3P1474091157", "MS3P1474091039", "MS3P1474095149", "MS3P1474095150", "MS3P1474091234" }, new string[] { "GNSS-WY-01", "GNSS-WY-02", "GNSS-WY-03", "GNSS-WY-04", "GNSS-WY-05", "GNSS-WY-06", "GNSS-WY-07", "GNSS-WY-08", "GNSS-WY-09", "GNSS基准点" }, new string[] { "", "", "", "", "","", "", "", "", "" }); // 初始化环境量监测相关列表(1个设备) InitializeIconAndCameraLists("水位监测", "水位监测视角", AppCache.iconPointList02, AppCache.iconCameraList02, new string[] { "1032406744" }, new string[] { "凤凰水库水位监测" }, new string[] { "FF29" }); // 初始化测缝针监测相关列表(9个设备) InitializeIconAndCameraLists("雨量监测", "雨量监测视角", AppCache.iconPointList03, AppCache.iconCameraList03, new string[] { "1032406744" }, new string[] { "凤凰水库雨量站" }, new string[] { "22" }); // 初始化加速度振动监测相关列表(6个设备) InitializeIconAndCameraLists("渗压计监测", "渗压计监测视角", AppCache.iconPointList04, AppCache.iconCameraList04, new string[] { "1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744", "1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744","1032406744", "1032406744", "1032406744", "1032406744" }, new string[] { "主坝断面CY1-1", "主坝断面CY1-2","主坝断面CY1-3", "主坝断面CY1-4","主坝断面CY1-5", "主坝断面CY2-1","主坝断面CY2-2", "主坝断面CY2-3","主坝断面CY2-4", "主坝断面CY2-5", "主坝断面CY3-1", "主坝断面CY3-2","主坝断面CY3-3", "主坝断面CY3-4","主坝断面CY3-5", "主坝断面CY4-1","主坝断面CY4-2", "主坝断面CY4-3","主坝断面CY4-4", "主坝断面CY4-5", "主坝断面CY5-1", "主坝断面CY5-2","主坝断面CY5-3", "主坝断面CY5-4","主坝断面CY5-5" , "副坝断面CY6-1","副坝断面CY6-2", "副坝断面CY6-3","主坝东量水堰", "主坝西量水堰", "副涵管量水堰", "梯形量水堰" }, new string[] { "FF01", "FF02","FF03","FF04","FF05","FF06", "FF07","FF08","FF09","FF10", "FF11", "FF12","FF13","FF14","FF15","FF16", "FF17","FF18","FF19","FF20", "FF21", "FF22","FF23","FF24","FF25","FF26", "FF27","FF28","FF32", "FF31", "FF30", "FF33"}); gameObject.SetActive(true); } public override void RegisterAction() { } public override void RemoveAction() { } }