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; } /// /// 恢复错误模型 /// public abstract void RecoverFault(); /// /// 初始化错误模型 /// public abstract void InitFault(); /// /// 根据故障名称对模型进行替换 /// /// public abstract void ReplaceAndActiveTargetModelMaterials(string faultName); /// /// 恢复之前被替换的模型 /// public abstract void RecoverTargetModelMaterials(string faultName); }