ECS warppoint (#6409)

This commit is contained in:
metalgearsloth
2022-02-01 17:15:58 +11:00
committed by GitHub
parent 478867d8d6
commit 72ece2191d
2 changed files with 25 additions and 15 deletions

View File

@@ -1,25 +1,15 @@
using Content.Shared.Examine;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Utility;
using Robust.Shared.ViewVariables;
namespace Content.Server.Warps
{
[RegisterComponent]
#pragma warning disable 618
public sealed class WarpPointComponent : Component, IExamine
#pragma warning restore 618
/// <summary>
/// Allows ghosts etc to warp to this entity by name.
/// </summary>
[RegisterComponent, ComponentProtoName("WarpPoint")]
public sealed class WarpPointComponent : Component
{
public override string Name => "WarpPoint";
[ViewVariables(VVAccess.ReadWrite)] [DataField("location")] public string? Location { get; set; }
public void Examine(FormattedMessage message, bool inDetailsRange)
{
var loc = Location == null ? "<null>" : $"'{Location}'";
message.AddText(Loc.GetString("warp-point-component-on-examine-success", ("location", loc)));
}
}
}

View File

@@ -0,0 +1,20 @@
using Content.Shared.Examine;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
namespace Content.Server.Warps;
public sealed class WarpPointSystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<WarpPointComponent, ExaminedEvent>(OnWarpPointExamine);
}
private static void OnWarpPointExamine(EntityUid uid, WarpPointComponent component, ExaminedEvent args)
{
var loc = component.Location == null ? "<null>" : $"'{component.Location}'";
args.PushText(Loc.GetString("warp-point-component-on-examine-success", ("location", loc)));
}
}