* dehardcode nodeTreeControl part 1 * finish * demiplane map system setup * link map entity with station data! * random demiplane map generation * redesign demiplane map node tree * center * map generate v2 * location generation * modifier generation * missing location icons * ui polish * data refactor * fix line color * ejectabling * split demiplane component into two * blocker attempt * revoking * fix frontier calculation * dimensit * demiplane core room spawning * demiplane cool destruction * Update round_end.yml * progression works now! * Update CP14NodeTree.cs * Update CP14NodeTree.cs * documentation pass * fix abusing, some balance pass * demiplane naming fix * см * location names * delete old keys * Update buy.yml * Update migration.yml * fix guidebook * Update misc.yml * Update misc.yml
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using Robust.Shared.Audio;
|
|
|
|
namespace Content.Shared._CP14.Demiplane.Components;
|
|
|
|
/// <summary>
|
|
/// Destroy demiplane after time
|
|
/// </summary>
|
|
[RegisterComponent, AutoGenerateComponentState, AutoGenerateComponentPause, Access(typeof(CP14SharedDemiplaneSystem))]
|
|
public sealed partial class CP14DemiplaneTimedDestructionComponent : Component
|
|
{
|
|
[DataField]
|
|
public TimeSpan TimeToDestruction = TimeSpan.FromSeconds(130f);
|
|
|
|
[DataField, AutoPausedField]
|
|
public TimeSpan EndTime = TimeSpan.Zero;
|
|
|
|
/// <summary>
|
|
/// Countdown audio stream.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public EntityUid? Stream = null;
|
|
|
|
/// <summary>
|
|
/// Sound that plays when the demiplane start to collapse.
|
|
/// </summary>
|
|
[DataField]
|
|
public SoundSpecifier Sound = new SoundCollectionSpecifier("ExpeditionEnd")
|
|
{
|
|
Params = AudioParams.Default.WithVolume(-5),
|
|
};
|
|
|
|
/// <summary>
|
|
/// Song selected on MapInit so we can predict the audio countdown properly.
|
|
/// </summary>
|
|
[DataField]
|
|
public SoundPathSpecifier? SelectedSong;
|
|
}
|