Remove ILand (#4582)

* Remove ILand

* Make land not handleable

* Rename ILand
This commit is contained in:
metalgearsloth
2021-09-12 16:22:58 +10:00
committed by GitHub
parent 0137884e16
commit f301e45163
13 changed files with 99 additions and 103 deletions

View File

@@ -33,11 +33,8 @@ namespace Content.Server.Light.Components
/// Component that represents a light bulb. Can be broken, or burned, which turns them mostly useless.
/// </summary>
[RegisterComponent]
public class LightBulbComponent : Component, ILand, IBreakAct
public class LightBulbComponent : Component, IBreakAct
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
/// <summary>
/// Invoked whenever the state of the light bulb changes.
/// </summary>
@@ -121,12 +118,6 @@ namespace Content.Server.Light.Components
UpdateColor();
}
void ILand.Land(LandEventArgs eventArgs)
{
PlayBreakSound();
State = LightBulbState.Broken;
}
public void OnBreak(BreakageEventArgs eventArgs)
{
State = LightBulbState.Broken;

View File

@@ -0,0 +1,21 @@
using Content.Server.Light.Components;
using Content.Shared.Throwing;
using Robust.Shared.GameObjects;
namespace Content.Server.Light.EntitySystems
{
public sealed class LightBulbSystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<LightBulbComponent, LandEvent>(HandleLand);
}
private void HandleLand(EntityUid uid, LightBulbComponent component, LandEvent args)
{
component.PlayBreakSound();
component.State = LightBulbState.Broken;
}
}
}