using Content.Shared.CCVar; using Content.Shared.Localizations; using Robust.Client.GameObjects; using Robust.Shared.Configuration; namespace Content.Client._CP14.Localization; public sealed class CP14LocalizationVisualsSystem : EntitySystem { [Dependency] private readonly IConfigurationManager _cfg = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnCompInit); } private void OnCompInit(Entity visuals, ref ComponentInit args) { if (!TryComp(visuals, out var sprite)) return; foreach (var (map, pDictionary) in visuals.Comp.MapStates) { if (!pDictionary.TryGetValue(_cfg.GetCVar(CCVars.Language), out var state)) return; if (sprite.LayerMapTryGet(map, out _)) sprite.LayerSetState(map, state); } } }