33 lines
927 B
C#
33 lines
927 B
C#
using Enigmos.Ports.DataPorts;
|
|
using Godot;
|
|
using Nocturnis.Enigmos.Modules;
|
|
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
|
using Nocturnis.GlobalManagement.Constants;
|
|
using Nocturnis.GlobalManagement.Providers;
|
|
|
|
namespace Enigmos.Modules.TerminalModules.TestingModules;
|
|
|
|
public abstract partial class LightEmittingDiodeModule : TerminalModule
|
|
{
|
|
private Sprite2D LightEmittingDiode { get; set; }
|
|
private IDataInPort Input { get; set; }
|
|
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
Finished = true;
|
|
LightEmittingDiode = GetNode<Sprite2D>("LightEmittingDiode");
|
|
Input = this.GetPort<DataInPort>("Input");
|
|
Input.SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
|
PostInit();
|
|
}
|
|
|
|
public override void Drain()
|
|
{
|
|
if (Input.GetData.Get.Bit)
|
|
LightEmittingDiode.Texture = GlobalProvider.TextureProvider.LEDOn;
|
|
else
|
|
LightEmittingDiode.Texture = GlobalProvider.TextureProvider.LEDOff;
|
|
Finished = true;
|
|
}
|
|
} |