2024-01-27 05:52:07 +03:00
|
|
|
using Robust.Shared.GameStates;
|
2023-02-06 00:03:53 -05:00
|
|
|
using Robust.Shared.Prototypes;
|
|
|
|
|
|
|
|
|
|
namespace Content.Shared.Anomaly.Effects.Components;
|
|
|
|
|
|
2024-01-27 05:52:07 +03:00
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedEntityAnomalySystem))]
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class EntitySpawnAnomalyComponent : Component
|
2023-02-06 00:03:53 -05:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
2024-01-27 05:52:07 +03:00
|
|
|
/// All types of entity spawns with their settings
|
2023-10-05 20:53:53 +01:00
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
2024-01-27 05:52:07 +03:00
|
|
|
public List<EntitySpawnSettingsEntry> Entries = new();
|
|
|
|
|
}
|
2023-11-06 04:41:42 +02:00
|
|
|
|
2024-01-27 05:52:07 +03:00
|
|
|
[DataRecord]
|
|
|
|
|
public partial record struct EntitySpawnSettingsEntry()
|
|
|
|
|
{
|
2023-11-06 04:41:42 +02:00
|
|
|
/// <summary>
|
2024-01-27 05:52:07 +03:00
|
|
|
/// A list of entities that are random picked to be spawned on each pulse
|
2023-11-06 04:41:42 +02:00
|
|
|
/// </summary>
|
2024-01-27 05:52:07 +03:00
|
|
|
public List<EntProtoId> Spawns { get; set; } = new();
|
2023-11-06 04:41:42 +02:00
|
|
|
|
2024-01-27 05:52:07 +03:00
|
|
|
public AnomalySpawnSettings Settings { get; set; } = new();
|
2023-02-06 00:03:53 -05:00
|
|
|
}
|