Aetheria/Assets/Scripts/ServerShared/Behaviors/Weapon.cs
hyperion51 6aeb2ae280 Entity Persistence Refactoring
Entities refactored to enable robust persistence
Entities detect stale data references and reload behaviors
2020-05-06 04:56:36 +01:00

34 lines
No EOL
1.2 KiB
C#

using MessagePack;
using Newtonsoft.Json;
[Union(0, typeof(ProjectileWeaponData)),
Union(1, typeof(LauncherData))]
public abstract class WeaponData : BehaviorData
{
[InspectableField, JsonProperty("damageType"), Key(0)]
public DamageType DamageType;
[InspectableField, JsonProperty("damage"), Key(1)]
public PerformanceStat Damage = new PerformanceStat();
[InspectableField, JsonProperty("range"), Key(2)]
public PerformanceStat Range = new PerformanceStat();
[InspectableField, JsonProperty("cooldown"), Key(3)]
public PerformanceStat Cooldown = new PerformanceStat();
[InspectableField, JsonProperty("heat"), Key(4)]
public PerformanceStat Heat = new PerformanceStat();
[InspectableField, JsonProperty("visibility"), Key(5)]
public PerformanceStat Visibility = new PerformanceStat();
[InspectableField, JsonProperty("visibilityDecay"), Key(6)]
public PerformanceStat VisibilityDecay = new PerformanceStat();
[InspectableField, JsonProperty("burstCount"), Key(7)]
public int BurstCount;
[InspectableField, JsonProperty("burstTime"), Key(8)]
public PerformanceStat BurstTime = new PerformanceStat();
}