94 lines
3.7 KiB
C#
94 lines
3.7 KiB
C#
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()
|
||
{
|
||
}
|
||
} |