Files
OldThink/Content.Server/GameObjects/Components/ComputerComponent.cs

45 lines
1.4 KiB
C#
Raw Normal View History

using Content.Server.GameObjects.Components.Power.ApcNetComponents;
2019-08-12 18:00:02 +02:00
using Content.Shared.GameObjects.Components;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
namespace Content.Server.GameObjects.Components
{
[RegisterComponent]
public sealed class ComputerComponent : SharedComputerComponent
{
public override void Initialize()
{
base.Initialize();
if (Owner.TryGetComponent(out PowerReceiverComponent powerReceiver))
2019-08-12 18:00:02 +02:00
{
powerReceiver.OnPowerStateChanged += PowerReceiverOnOnPowerStateChanged;
2019-08-12 18:00:02 +02:00
if (Owner.TryGetComponent(out AppearanceComponent appearance))
{
appearance.SetData(ComputerVisuals.Powered, powerReceiver.Powered);
2019-08-12 18:00:02 +02:00
}
}
}
public override void OnRemove()
{
if (Owner.TryGetComponent(out PowerReceiverComponent powerReceiver))
{
powerReceiver.OnPowerStateChanged -= PowerReceiverOnOnPowerStateChanged;
}
base.OnRemove();
}
private void PowerReceiverOnOnPowerStateChanged(object sender, PowerStateEventArgs e)
2019-08-12 18:00:02 +02:00
{
if (Owner.TryGetComponent(out AppearanceComponent appearance))
{
appearance.SetData(ComputerVisuals.Powered, e.Powered);
}
}
}
}