using Enigmos.Modules.ComputationalModules; using Godot; using Nocturnis.Enigmos.Modules; using Nocturnis.Enigmos.Modules.ComputationalModules; using Nocturnis.Enigmos.Ports; using Nocturnis.Enigmos.Ports.DataPorts.Directions; using Nocturnis.GlobalManagement.Constants; namespace Enigmos.Modules.Other; public partial class OutputSubModule : NullaryComputationalModule { public override Vector2 PositionToBoard => base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero); protected override bool Draggable => false; protected override bool HasManual => false; public override IEnumerable Ports => new[] { DataOut }; public IComputationalCompositeModule? ParentModule { get; set; } public IDataOutPort? DataOut { get; set; } public override void Define() { //DataOut = ParentModule } //protected override void Compute(IRootModule root) => ParentModule.Compute(root); public override void Init() { base.Init(); this.DataOutInit("DataOut", 1); DataOut = DataOutPorts[0]; DataOut.SetDataType(EnigmosConstant.DataPortTypes.Real); PostInit(); } }