NPC utility queries (#15843)
This commit is contained in:
5
Content.Server/NPC/Queries/Curves/BoolCurve.cs
Normal file
5
Content.Server/NPC/Queries/Curves/BoolCurve.cs
Normal file
@@ -0,0 +1,5 @@
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
public sealed class BoolCurve : IUtilityCurve
|
||||
{
|
||||
}
|
||||
7
Content.Server/NPC/Queries/Curves/IUtilityCurve.cs
Normal file
7
Content.Server/NPC/Queries/Curves/IUtilityCurve.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
[ImplicitDataDefinitionForInheritors]
|
||||
public interface IUtilityCurve
|
||||
{
|
||||
|
||||
}
|
||||
6
Content.Server/NPC/Queries/Curves/InverseBoolCurve.cs
Normal file
6
Content.Server/NPC/Queries/Curves/InverseBoolCurve.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
public sealed class InverseBoolCurve : IUtilityCurve
|
||||
{
|
||||
|
||||
}
|
||||
8
Content.Server/NPC/Queries/Curves/PresetCurve.cs
Normal file
8
Content.Server/NPC/Queries/Curves/PresetCurve.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
public sealed class PresetCurve : IUtilityCurve
|
||||
{
|
||||
[DataField("preset", required: true, customTypeSerializer:typeof(PrototypeIdSerializer<UtilityCurvePresetPrototype>))] public readonly string Preset = default!;
|
||||
}
|
||||
12
Content.Server/NPC/Queries/Curves/QuadraticCurve.cs
Normal file
12
Content.Server/NPC/Queries/Curves/QuadraticCurve.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
public sealed class QuadraticCurve : IUtilityCurve
|
||||
{
|
||||
[DataField("slope")] public readonly float Slope;
|
||||
|
||||
[DataField("exponent")] public readonly float Exponent;
|
||||
|
||||
[DataField("yOffset")] public readonly float YOffset;
|
||||
|
||||
[DataField("xOffset")] public readonly float XOffset;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.NPC.Queries.Curves;
|
||||
|
||||
[Prototype("utilityCurvePreset")]
|
||||
public sealed class UtilityCurvePresetPrototype : IPrototype
|
||||
{
|
||||
[IdDataField] public string ID { get; } = string.Empty;
|
||||
|
||||
[DataField("curve", required: true)] public IUtilityCurve Curve = default!;
|
||||
}
|
||||
Reference in New Issue
Block a user