审查生成的工具状态

来自 Unity ScriptableObject 资源
Unity 6.6 高级 6分钟 找出 4处问题

根据任务审查这个生成的工具使用实现。

保持编辑配置私有,让每个 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}");
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误