CultivationOfBrewing-2/Assets/Scripts/HQB/Fault/Fault_Control.cs

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);
}