mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-10 02:41:18 +03:00
53 lines
2.7 KiB
C#
53 lines
2.7 KiB
C#
namespace Content.Server.Silicons.Laws;
|
|
|
|
public sealed partial class IonLawLocalizationSystem : EntitySystem
|
|
{
|
|
[Dependency] private IonLawSystem _ionLaw = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
var culture = Loc.DefaultCulture;
|
|
|
|
if (culture == null)
|
|
{
|
|
Log.Error("Culture was null when trying to generate Ion Law");
|
|
return;
|
|
}
|
|
|
|
Loc.AddFunction(culture, "ION-NUMBER-BASE", _ => GetIonLawValue("ION-NUMBER-BASE"));
|
|
Loc.AddFunction(culture, "ION-NUMBER-MOD", _ => GetIonLawValue("ION-NUMBER-MOD"));
|
|
Loc.AddFunction(culture, "ION-ADJECTIVE", _ => GetIonLawValue("ION-ADJECTIVE"));
|
|
Loc.AddFunction(culture, "ION-SUBJECT", _ => GetIonLawValue("ION-SUBJECT"));
|
|
Loc.AddFunction(culture, "ION-WHO", _ => GetIonLawValue("ION-WHO"));
|
|
Loc.AddFunction(culture, "ION-MUST", _ => GetIonLawValue("ION-MUST"));
|
|
Loc.AddFunction(culture, "ION-THING", _ => GetIonLawValue("ION-THING"));
|
|
Loc.AddFunction(culture, "ION-JOB", _ => GetIonLawValue("ION-JOB"));
|
|
Loc.AddFunction(culture, "ION-WHO-GENERAL", _ => GetIonLawValue("ION-WHO-GENERAL"));
|
|
Loc.AddFunction(culture, "ION-PLURAL", _ => GetIonLawValue("ION-PLURAL"));
|
|
Loc.AddFunction(culture, "ION-REQUIRE", _ => GetIonLawValue("ION-REQUIRE"));
|
|
Loc.AddFunction(culture, "ION-SEVERITY", _ => GetIonLawValue("ION-SEVERITY"));
|
|
Loc.AddFunction(culture, "ION-ALLERGY", _ => GetIonLawValue("ION-ALLERGY"));
|
|
Loc.AddFunction(culture, "ION-FEELING", _ => GetIonLawValue("ION-FEELING"));
|
|
Loc.AddFunction(culture, "ION-CONCEPT", _ => GetIonLawValue("ION-CONCEPT"));
|
|
Loc.AddFunction(culture, "ION-FOOD", _ => GetIonLawValue("ION-FOOD"));
|
|
Loc.AddFunction(culture, "ION-DRINK", _ => GetIonLawValue("ION-DRINK"));
|
|
Loc.AddFunction(culture, "ION-CHANGE", _ => GetIonLawValue("ION-CHANGE"));
|
|
Loc.AddFunction(culture, "ION-WHO-RANDOM", _ => GetIonLawValue("ION-WHO-RANDOM"));
|
|
Loc.AddFunction(culture, "ION-AREA", _ => GetIonLawValue("ION-AREA"));
|
|
Loc.AddFunction(culture, "ION-PART", _ => GetIonLawValue("ION-PART"));
|
|
Loc.AddFunction(culture, "ION-OBJECT", _ => GetIonLawValue("ION-OBJECT"));
|
|
Loc.AddFunction(culture, "ION-HARM-PROTECT", _ => GetIonLawValue("ION-HARM-PROTECT"));
|
|
Loc.AddFunction(culture, "ION-VERB", _ => GetIonLawValue("ION-VERB"));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a localized value for an ion law token.
|
|
/// </summary>
|
|
private ILocValue GetIonLawValue(string s)
|
|
{
|
|
var val = _ionLaw.GetOrGenerateValue(s);
|
|
return new LocValueString(val.ToString() ?? string.Empty);
|
|
}
|
|
}
|