using Godot; using Nocturnis.Enigmos.Modules.ComputationalModules; using Nocturnis.Enigmos.Ports; using Nocturnis.GlobalManagement.Constants; using Skeleton.DataStructure; namespace Enigmos.Modules.ComputationalModules.Binary; public abstract partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule { public override void Init() { base.Init(); this.DataOutInit("Output", 3); this.SetInputType(EnigmosConstant.DataPortTypes.Real); this.SetOutputType(EnigmosConstant.DataPortTypes.Real); PostInit(); } public override void Define() { (object, StringName) Func(CacheItem cache) { if (this.X(cache).Double > this.Y(cache).Double) return (this.X(cache), EnigmosConstant.DataPortTypes.Real); return (this.Y(cache), EnigmosConstant.DataPortTypes.Real); } this.Define(Func); } }