Aetheria/Assets/Scripts/ServerShared/Behaviors/Launcher.cs

37 lines
1.3 KiB
C#
Raw Normal View History

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
2021-01-05 02:56:17 +00:00
public class LauncherData : InstantWeaponData
{
2021-01-08 12:44:10 +00:00
[InspectableAnimationCurve, JsonProperty("guidance"), Key(9)]
public float4[] GuidanceCurve;
2021-01-08 12:44:10 +00:00
[InspectableAnimationCurve, JsonProperty("thrustCurve"), Key(10)]
public float4[] ThrustCurve;
2021-01-08 12:44:10 +00:00
[InspectableAnimationCurve, JsonProperty("liftCurve"), Key(11)]
public float4[] LiftCurve;
2021-01-08 12:44:10 +00:00
[InspectableField, JsonProperty("thrust"), Key(12)]
public PerformanceStat Thrust = new PerformanceStat();
[InspectableField, JsonProperty("frequency"), Key(13)]
public float DodgeFrequency;
[InspectableField, JsonProperty("launchSpeed"), Key(14)]
public PerformanceStat LaunchSpeed = new PerformanceStat();
[InspectableField, JsonProperty("missileSpeed"), Key(15)]
public PerformanceStat MissileSpeed = new PerformanceStat();
public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item)
{
2021-01-05 02:56:17 +00:00
return new InstantWeapon(context, this, entity, item);
}
}