Files
Enigmos/Modules/TerminalModules/TestingModules/LightEmittingDiodeModule.cs
2024-07-29 17:24:31 +01:00

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;
}
}