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