using System.Diagnostics.CodeAnalysis; using Content.Shared.Power.Components; namespace Content.Shared.Power.EntitySystems; public abstract class SharedPowerReceiverSystem : EntitySystem { public abstract bool ResolveApc(EntityUid entity, [NotNullWhen(true)] ref SharedApcPowerReceiverComponent? component); /// /// Checks if entity is APC-powered device, and if it have power. /// public bool IsPowered(Entity entity) { if (!ResolveApc(entity.Owner, ref entity.Comp)) return true; return entity.Comp.Powered; } protected string GetExamineText(bool powered) { return Loc.GetString("power-receiver-component-on-examine-main", ("stateText", Loc.GetString(powered ? "power-receiver-component-on-examine-powered" : "power-receiver-component-on-examine-unpowered"))); } }