CatStation/Content.Server/Station/Systems/StationNameSystem.cs
Pieter-Jan Briers 5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00

36 lines
1.1 KiB
C#

using Content.Server.Station.Components;
using Content.Shared.Station.Components;
namespace Content.Server.Station.Systems;
/// <summary>
/// This handles naming stations.
/// </summary>
public sealed partial class StationNameSystem : EntitySystem
{
[Dependency] private 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;
}
}