source generator
This commit is contained in:
@@ -3,6 +3,7 @@ using Enigmos.Modules.InterlayerModules;
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Modules.InterlayerModules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
@@ -31,20 +32,11 @@ public partial class FunctionModule : ProgrammableModule, IPolymorphismModule
|
||||
.Union(UnderlyingBoard.SignalOuts.SelectMany(module => module.Ports));
|
||||
|
||||
|
||||
private static readonly PackedScene FunctionModuleBoardScene = GlobalProvider.SceneProvider!
|
||||
.AssetMapper<FunctionModuleBoard>();
|
||||
|
||||
public override BaseModule[] SubModules =>
|
||||
ExplicitDataInModules
|
||||
.Union<BaseModule>(ExplicitDataOutModules)
|
||||
.Union(ExplicitSignalInModules)
|
||||
.Union(ExplicitSignalOutModules)
|
||||
.ToArray();
|
||||
|
||||
private InterlayerDataInModule[] ExplicitDataInModules { get; set; } = Array.Empty<InterlayerDataInModule>();
|
||||
private InterlayerDataOutModule[] ExplicitDataOutModules { get; set; } = Array.Empty<InterlayerDataOutModule>();
|
||||
private InterlayerSignalInModule[] ExplicitSignalInModules { get; set; } = Array.Empty<InterlayerSignalInModule>();
|
||||
|
||||
private InterlayerSignalOutModule[] ExplicitSignalOutModules { get; set; } =
|
||||
Array.Empty<InterlayerSignalOutModule>();
|
||||
|
||||
@@ -56,14 +48,28 @@ public partial class FunctionModule : ProgrammableModule, IPolymorphismModule
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
UnderlyingBoard = FunctionModuleBoardScene.Instantiate<FunctionModuleBoard>();
|
||||
UnderlyingBoard = GlobalProvider
|
||||
.AssetMapper<FunctionModuleBoard>.Scene
|
||||
.Instantiate<FunctionModuleBoard>();
|
||||
UnderlyingBoard.Init();
|
||||
ExteriorToInterior = new IDataPortGroup[4];
|
||||
InteriorToExterior = new IDataPortGroup[4];
|
||||
ExplicitDataInModules = new InterlayerDataInModule[4];
|
||||
ExplicitDataOutModules = new InterlayerDataOutModule[4];
|
||||
ExplicitSignalInModules = new InterlayerSignalInModule[4];
|
||||
ExplicitSignalOutModules = new InterlayerSignalOutModule[4];
|
||||
ExplicitDataInModules = GetChildren()
|
||||
.OfType<InterlayerDataInModule>()
|
||||
.OrderBy(x => x.AsNode.Name)
|
||||
.ToArray();
|
||||
ExplicitDataOutModules = GetChildren()
|
||||
.OfType<InterlayerDataOutModule>()
|
||||
.OrderBy(x => x.AsNode.Name)
|
||||
.ToArray();
|
||||
ExplicitSignalInModules = GetChildren()
|
||||
.OfType<InterlayerSignalInModule>()
|
||||
.OrderBy(x => x.AsNode.Name)
|
||||
.ToArray();
|
||||
ExplicitSignalOutModules = GetChildren()
|
||||
.OfType<InterlayerSignalOutModule>()
|
||||
.OrderBy(x => x.AsNode.Name)
|
||||
.ToArray();
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user