using System; namespace GeometryTD.Definition { /// /// 防御塔独立属性快照。 /// 注意:这里是塔实例的独立值,不通过组件引用实时计算。 /// [Serializable] public sealed class DefenseTowerStatsData { public int AttackDamage { get; set; } public float DamageRandomRate { get; set; } public float RotateSpeed { get; set; } public float AttackRange { get; set; } public float AttackSpeed { get; set; } public AttackMethodType AttackMethodType { get; set; } public AttackPropertyType AttackPropertyType { get; set; } public TagType[] Tags { get; set; } } /// /// 背包内防御塔实例数据。 /// [Serializable] public sealed class DefenseTowerItemData { /// /// 防御塔实例唯一 Id。 /// public long InstanceId { get; set; } /// /// 防御塔显示名称。 /// public string Name { get; set; } /// /// 防御塔品质。 /// public RarityType Rarity { get; set; } /// /// 当前耐久(0~100)。 /// public float Endurance { get; set; } = 100f; /// /// 构成该防御塔的枪口组件实例 Id。 /// public long MuzzleComponentInstanceId { get; set; } /// /// 构成该防御塔的轴承组件实例 Id。 /// public long BearingComponentInstanceId { get; set; } /// /// 构成该防御塔的底座组件实例 Id。 /// public long BaseComponentInstanceId { get; set; } /// /// 防御塔独立属性,不依赖组件对象引用。 /// public DefenseTowerStatsData Stats { get; set; } = new DefenseTowerStatsData(); } }