73 lines
2.2 KiB
C#
73 lines
2.2 KiB
C#
using System;
|
|
using Newtonsoft.Json;
|
|
using UnityEngine;
|
|
|
|
namespace GeometryTD.Definition
|
|
{
|
|
/// <summary>
|
|
/// 防御塔独立属性快照。
|
|
/// 注意:这里是塔实例的独立值,不通过组件引用实时计算。
|
|
/// </summary>
|
|
[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 TagRuntimeData[] TagRuntimes { get; set; }
|
|
public TagType[] Tags { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 背包内防御塔实例数据。
|
|
/// </summary>
|
|
[Serializable]
|
|
public sealed class TowerItemData
|
|
{
|
|
/// <summary>
|
|
/// 防御塔实例唯一 Id。
|
|
/// </summary>
|
|
public long InstanceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 防御塔显示名称。
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// 防御塔品质。
|
|
/// </summary>
|
|
public RarityType Rarity { get; set; }
|
|
|
|
public bool IsParticipatingInCombat { get; set; }
|
|
|
|
/// <summary>
|
|
/// 构成该防御塔的枪口组件实例 Id。
|
|
/// </summary>
|
|
public long MuzzleComponentInstanceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 构成该防御塔的轴承组件实例 Id。
|
|
/// </summary>
|
|
public long BearingComponentInstanceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 构成该防御塔的底座组件实例 Id。
|
|
/// </summary>
|
|
public long BaseComponentInstanceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 防御塔独立属性,不依赖组件对象引用。
|
|
/// </summary>
|
|
public TowerStatsData Stats { get; set; } = new TowerStatsData();
|
|
|
|
[JsonIgnore] public Sprite ComposedIconSprite { get; set; }
|
|
|
|
[JsonIgnore] public string ComposedIconKey { get; set; }
|
|
}
|
|
}
|