2023-06-30 22:07:44 +03:00
|
|
|
using Content.Shared.Chemistry.Reagent;
|
|
|
|
|
using Content.Shared.FixedPoint;
|
2023-06-03 04:31:47 +01:00
|
|
|
using Robust.Shared.Audio;
|
|
|
|
|
using Robust.Shared.GameStates;
|
2023-06-30 22:07:44 +03:00
|
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
2023-06-03 04:31:47 +01:00
|
|
|
|
2023-06-30 22:07:44 +03:00
|
|
|
namespace Content.Shared.Glue;
|
|
|
|
|
|
|
|
|
|
[RegisterComponent, NetworkedComponent]
|
|
|
|
|
[Access(typeof(SharedGlueSystem))]
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class GlueComponent : Component
|
2023-06-03 04:31:47 +01:00
|
|
|
{
|
2023-06-30 22:07:44 +03:00
|
|
|
/// <summary>
|
|
|
|
|
/// Noise made when glue applied.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("squeeze")]
|
|
|
|
|
public SoundSpecifier Squeeze = new SoundPathSpecifier("/Audio/Items/squeezebottle.ogg");
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Solution on the entity that contains the glue.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("solution")]
|
|
|
|
|
public string Solution = "drink";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reagent that will be used as glue.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("reagent", customTypeSerializer: typeof(PrototypeIdSerializer<ReagentPrototype>))]
|
|
|
|
|
public string Reagent = "SpaceGlue";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reagent consumption per use.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("consumptionUnit"), ViewVariables(VVAccess.ReadWrite)]
|
|
|
|
|
public FixedPoint2 ConsumptionUnit = FixedPoint2.New(5);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Duration per unit
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("durationPerUnit"), ViewVariables(VVAccess.ReadWrite)]
|
|
|
|
|
public TimeSpan DurationPerUnit = TimeSpan.FromSeconds(6);
|
2023-06-03 04:31:47 +01:00
|
|
|
}
|