Add basic server icarus components

This commit is contained in:
Arthur 2022-06-24 04:33:24 +03:00
parent 184bd103b0
commit 9864bae192
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,16 @@
namespace Content.Server.Icarus;
/// <summary>
/// Used to store Icarus terminal keys
/// </summary>
[RegisterComponent]
public sealed class IcarusTerminalComponent : Component
{
[ViewVariables(VVAccess.ReadWrite)]
[DataField("totalKeys")]
public int TotalKeys = 3;
[ViewVariables(VVAccess.ReadWrite)]
[DataField("activatedKeys")]
public int ActivatedKeys = 0;
}

View file

@ -0,0 +1,28 @@
namespace Content.Server.Icarus;
/// <summary>
/// Handle Icarus activation terminal
/// </summary>
public sealed class IcarusTerminalSystem : EntitySystem
{
/// <inheritdoc/>
public override void Initialize()
{
}
public void OnKeyInsert()
{
}
public void Fire()
{
// TODO: Fire Icarus beam
}
public bool IsUnlocked(IcarusTerminalComponent comp)
{
return comp.ActivatedKeys == comp.TotalKeys;
}
}