Files
3d-bianpo/Assets/Scripts/App/SceneUtil.cs
2026-03-03 11:30:53 +08:00

95 lines
5.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<IconData> iconList, List<Transform> 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<IconData>
if (AppCache.iconPointList01 == null) AppCache.iconPointList01 = new List<IconData>();
if (AppCache.iconPointList02 == null) AppCache.iconPointList02 = new List<IconData>();
if (AppCache.iconPointList03 == null) AppCache.iconPointList03 = new List<IconData>();
if (AppCache.iconPointList04 == null) AppCache.iconPointList04 = new List<IconData>();
// 初始化 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()
{
}
}