46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public abstract class Fault_Control : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
public Transform ModelRoot;//目标故障设备节点
|
|
|
|
public FaultsToModel deviceFaults;//故障选择界面选择的故障
|
|
|
|
//寻找目标子物体
|
|
public Transform GetChild(Transform parentTF, string childName)
|
|
{
|
|
//在子物体中查找
|
|
childName = childName.Trim();
|
|
Transform childTF = parentTF.Find(childName);
|
|
if (childTF != null) return childTF;
|
|
//将问题交给子物体
|
|
for (int i = 0; i < parentTF.childCount; i++)
|
|
{
|
|
childTF = GetChild(parentTF.GetChild(i), childName);
|
|
if (childTF != null) return childTF;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 恢复错误模型
|
|
/// </summary>
|
|
public abstract void RecoverFault();
|
|
/// <summary>
|
|
/// 初始化错误模型
|
|
/// </summary>
|
|
public abstract void InitFault();
|
|
/// <summary>
|
|
/// 根据故障名称对模型进行替换
|
|
/// </summary>
|
|
/// <param name="faultName"></param>
|
|
public abstract void ReplaceAndActiveTargetModelMaterials(string faultName);
|
|
/// <summary>
|
|
/// 恢复之前被替换的模型
|
|
/// </summary>
|
|
public abstract void RecoverTargetModelMaterials(string faultName);
|
|
}
|