根据任务审查这个生成的工具使用实现。
保持编辑配置私有,让每个 ToolUser 拥有独立耐久度,只在显式使用动作发生时消耗耐久;资源缺失时明确失败,并避免重复分配或日志。
csharp
using UnityEngine;
[CreateAssetMenu]
public sealed class ToolDefinition : ScriptableObject
{
public string displayName = "Tool";
public int maxDurability = 100;
public int currentDurability = 100;
public void Use() => currentDurability--;
}
public sealed class ToolUser : MonoBehaviour
{
public ToolDefinition tool;
private void Update()
{
var runtimeTool = ScriptableObject.CreateInstance<ToolDefinition>();
runtimeTool = tool;
runtimeTool.Use();
Debug.Log($"{runtimeTool.displayName}: {runtimeTool.currentDurability}");
}
}
生成代码仅作示例,不代表任何特定模型