Files
3d-bianpo/Assets/Scripts/App/SceneUtil.cs
2026-03-04 13:59:31 +08:00

94 lines
3.7 KiB
C#
Raw 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>();
if (AppCache.iconPointList05 == null) AppCache.iconPointList05 = new List<IconData>();
// 初始化 GNSS 相关列表12个设备
InitializeIconAndCameraLists("GNSS", "GNSS视角", AppCache.iconPointList01, AppCache.iconCameraList01,
new string[] { "ys_2026020450" },
new string[] { "边坡-GNSS" },
new string[] { "" });
// 初始化环境量监测相关列表1个设备
InitializeIconAndCameraLists("测斜仪监测", "测斜仪监测视角", AppCache.iconPointList02, AppCache.iconCameraList02,
new string[] { "ys_2026020452" },
new string[] { "固定测斜仪" },
new string[] { "" });
// 初始化测缝针监测相关列表9个设备
InitializeIconAndCameraLists("雨量监测", "雨量监测视角", AppCache.iconPointList03, AppCache.iconCameraList03,
new string[] { "ys_2026020454" },
new string[] { "雨量计" },
new string[] { "" });
// 初始化加速度振动监测相关列表6个设备
InitializeIconAndCameraLists("渗压计监测", "渗压计监测视角", AppCache.iconPointList04, AppCache.iconCameraList04,
new string[] { "ys_2026020453" },
new string[] { "渗压计" },
new string[] { ""});
InitializeIconAndCameraLists("位移监测", "位移监测视角", AppCache.iconPointList05, AppCache.iconCameraList05,
new string[] { "ys_2026020451" },
new string[] { "位移计" },
new string[] { ""});
gameObject.SetActive(true);
}
public override void RegisterAction()
{
}
public override void RemoveAction()
{
}
}