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("LightEmittingDiode"); Input = this.GetPort("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; } }