using System;
namespace GeometryTD.Definition
{
///
/// 防御塔独立属性快照。
/// 注意:这里是塔实例的独立值,不通过组件引用实时计算。
///
[Serializable]
public sealed class TowerStatsData
{
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 TowerItemData
{
///
/// 防御塔实例唯一 Id。
///
public long InstanceId { get; set; }
///
/// 防御塔显示名称。
///
public string Name { get; set; }
///
/// 防御塔品质。
///
public RarityType Rarity { get; set; }
///
/// 构成该防御塔的枪口组件实例 Id。
///
public long MuzzleComponentInstanceId { get; set; }
///
/// 构成该防御塔的轴承组件实例 Id。
///
public long BearingComponentInstanceId { get; set; }
///
/// 构成该防御塔的底座组件实例 Id。
///
public long BaseComponentInstanceId { get; set; }
///
/// 防御塔独立属性,不依赖组件对象引用。
///
public TowerStatsData Stats { get; set; } = new TowerStatsData();
}
}