2025-09-03 19:59:22 +08:00
|
|
|
using Data;
|
2025-10-10 14:08:23 +08:00
|
|
|
using Entity;
|
2025-09-03 19:59:22 +08:00
|
|
|
|
2025-10-10 14:08:23 +08:00
|
|
|
namespace HediffComps
|
2025-09-03 19:59:22 +08:00
|
|
|
{
|
|
|
|
|
// 运行时健康状态组件的抽象基类
|
|
|
|
|
public abstract class HediffComp
|
|
|
|
|
{
|
2025-10-10 14:08:23 +08:00
|
|
|
// 对组件定义的引用
|
|
|
|
|
protected HediffCompDef def;
|
2025-09-03 19:59:22 +08:00
|
|
|
|
2025-10-10 14:08:23 +08:00
|
|
|
// 对父 Hediff 的引用
|
|
|
|
|
protected Hediff parentHediff;
|
2025-09-03 19:59:22 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
2025-10-10 14:08:23 +08:00
|
|
|
/// 组件初始化时调用,在构造函数之后。
|
2025-09-03 19:59:22 +08:00
|
|
|
/// </summary>
|
2025-10-10 14:08:23 +08:00
|
|
|
/// <param name="parentHediff">父级 Hediff 实例。</param>
|
|
|
|
|
/// <param name="def">组件定义。</param>
|
|
|
|
|
public virtual void Initialize(Hediff parentHediff, HediffCompDef def)
|
2025-09-03 19:59:22 +08:00
|
|
|
{
|
2025-10-10 14:08:23 +08:00
|
|
|
this.parentHediff = parentHediff;
|
|
|
|
|
this.def = def;
|
2025-09-03 19:59:22 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-10-10 14:08:23 +08:00
|
|
|
/// 每帧更新时调用。
|
2025-09-03 19:59:22 +08:00
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="deltaTime">自上次更新以来的时间(秒)。</param>
|
|
|
|
|
public virtual void Tick(float deltaTime)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-10-10 14:08:23 +08:00
|
|
|
/// 当其父 Hediff 被添加到实体时调用。
|
2025-09-03 19:59:22 +08:00
|
|
|
/// </summary>
|
|
|
|
|
public virtual void OnAdded()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-10-10 14:08:23 +08:00
|
|
|
/// 当其父 Hediff 从实体移除时调用。
|
2025-09-03 19:59:22 +08:00
|
|
|
/// </summary>
|
|
|
|
|
public virtual void OnRemoved()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|