Refactor stations to properly use entity prototypes. (stationsv3) (#16570)
* Update StationSpawningSystem.cs Web-edit to allow feeding in an existing entity. * Update StationSpawningSystem.cs value type moment * Update StationSpawningSystem.cs * Oh goddamnit this is a refactor now. * awawawa * aaaaaaaaaaa * ee * forgot records. * no records? no records. * What's in a name? * Sloth forcing me to do the refactor properly smh. * e * optional evac in test. * tests pls work * awa --------- Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
This commit is contained in:
35
Content.Server/Station/Systems/StationNameSystem.cs
Normal file
35
Content.Server/Station/Systems/StationNameSystem.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using Content.Server.Station.Components;
|
||||
|
||||
namespace Content.Server.Station.Systems;
|
||||
|
||||
/// <summary>
|
||||
/// This handles naming stations.
|
||||
/// </summary>
|
||||
public sealed class StationNameSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly StationSystem _station = default!;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void Initialize()
|
||||
{
|
||||
SubscribeLocalEvent<StationNameSetupComponent, ComponentInit>(OnStationNameSetupInit);
|
||||
}
|
||||
|
||||
private void OnStationNameSetupInit(EntityUid uid, StationNameSetupComponent component, ComponentInit args)
|
||||
{
|
||||
if (!HasComp<StationDataComponent>(uid))
|
||||
return;
|
||||
|
||||
_station.RenameStation(uid, GenerateStationName(component), false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generates a station name from the given config.
|
||||
/// </summary>
|
||||
private static string GenerateStationName(StationNameSetupComponent config)
|
||||
{
|
||||
return config.NameGenerator is not null
|
||||
? config.NameGenerator.FormatName(config.StationNameTemplate)
|
||||
: config.StationNameTemplate;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user