112 lines
3.8 KiB
C#
112 lines
3.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using AdamThinkDevicesData;
|
|
|
|
/// <summary>
|
|
/// 设备
|
|
/// </summary>
|
|
public class EquipmentCommon : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 场景所在方
|
|
/// </summary>
|
|
public SelectedSide selectedSide = SelectedSide.Other;
|
|
/// <summary>
|
|
/// 所有设备
|
|
/// </summary>
|
|
public static List<EquipmentCommon> equipmentCommons = new List<EquipmentCommon>();
|
|
public string equipmentType = "";
|
|
private bool _isStartRehearsing = false;
|
|
|
|
// 布尔值变化时触发的事件
|
|
public event System.Action<bool> OnActivationChanged;
|
|
|
|
// 属性绑定布尔值,并在值变化时触发事件
|
|
public bool isStartRehearsing
|
|
{
|
|
get { return _isStartRehearsing; }
|
|
set
|
|
{
|
|
if (_isStartRehearsing != value)
|
|
{
|
|
_isStartRehearsing = value;
|
|
OnActivationChanged?.Invoke(_isStartRehearsing);
|
|
}
|
|
}
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
equipmentCommons.Add(this);
|
|
// 订阅布尔值变化事件
|
|
OnActivationChanged += OnActivationChangedHandler;
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="newValue"></param>
|
|
void OnActivationChangedHandler(bool newValue)
|
|
{
|
|
switch (equipmentType)
|
|
{
|
|
case "激光火控平台":
|
|
LaserFireControlPlatformManger laserFireControlPlatformManger = GetComponent<LaserFireControlPlatformManger>();
|
|
laserFireControlPlatformManger.isStartRehearsing = isStartRehearsing;
|
|
break;
|
|
case "探测雷达":
|
|
RadarManger radarManger = GetComponent<RadarManger>();
|
|
radarManger.isStartRehearsing = isStartRehearsing;
|
|
break;
|
|
case "地面无线电干扰":
|
|
TerrestrialRadioInterferenceManger terrestrialRadioInterferenceManger = GetComponent<TerrestrialRadioInterferenceManger>();
|
|
terrestrialRadioInterferenceManger.isStartRehearsing = isStartRehearsing;
|
|
break;
|
|
case "无人机List":
|
|
UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent<UnmannedAerialVehicleManage>();
|
|
unmannedAerialVehicleManage.isStartRehearsing = isStartRehearsing;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="weaponitemone"></param>
|
|
public void FillInTheData(List<List_paraItem> weaponitemone)
|
|
{
|
|
switch (equipmentType)
|
|
{
|
|
case "激光火控平台":
|
|
LaserFireControlPlatformManger laserFireControlPlatformManger = GetComponent<LaserFireControlPlatformManger>();
|
|
laserFireControlPlatformManger.FillInTheData(weaponitemone);
|
|
laserFireControlPlatformManger.isStartRehearsing= isStartRehearsing;
|
|
break;
|
|
case "探测雷达":
|
|
RadarManger radarManger = GetComponent<RadarManger>();
|
|
radarManger.FillInTheData(weaponitemone);
|
|
break;
|
|
case "地面无线电干扰":
|
|
TerrestrialRadioInterferenceManger terrestrialRadioInterferenceManger = GetComponent<TerrestrialRadioInterferenceManger>();
|
|
terrestrialRadioInterferenceManger.FillInTheData(weaponitemone);
|
|
break;
|
|
case "无人机List":
|
|
UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent<UnmannedAerialVehicleManage>();
|
|
unmannedAerialVehicleManage.FillInTheData(weaponitemone);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public enum SelectedSide
|
|
{
|
|
Rad,
|
|
Blue,
|
|
Director,
|
|
Other
|
|
} |