using System; using Data; using Entity; namespace Item { public class WeaponResource : ItemResource { public Attributes Attributes { get; private set; } public WeaponType Type { get; private set; } /// /// 构造函数:通过 WeaponDef 对象初始化 WeaponResource。 /// /// 武器的定义对象。 /// 如果传入的 WeaponDef 为 null,则抛出此异常。 public WeaponResource(WeaponDef def) : base(def) // 调用基类 ItemResource 的构造函数,直接传入 WeaponDef。 { // 参数校验:确保 WeaponDef 对象不为空,避免空引用异常。 if (def == null) { throw new ArgumentNullException(nameof(def), "创建 WeaponResource 时,WeaponDef 不能为 null。"); } // 初始化武器的属性。Attributes 对象通过 WeaponDef 中的属性数据进行构建。 Attributes = new Attributes(def.attributes); // 初始化武器类型,直接从 WeaponDef 定义中获取。 Type = def.type; } } }