source generator

This commit is contained in:
h z
2024-07-10 07:02:11 +01:00
parent 3eec8a1345
commit 401e48e0ba
77 changed files with 432 additions and 336 deletions

View File

@@ -1,15 +1,15 @@
using Enigmos.Boards;
using Enigmos.Modules.InterlayerModules;
using Enigmos.Modules.SubModules;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Modules.InterlayerModules;
using Nocturnis.Enigmos.Ports;
using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules;
public abstract partial class ProgrammableModule : BaseModule, ICompositeModule, IProgrammableModule
public abstract partial class ProgrammableModule : CompositeModule, IProgrammableModule
{
public BaseBoard? UnderlyingBoard { get; set; }
public abstract IBaseModule[] SubModules { get; }
public void EnterProgrammableBoard() => GlobalProvider.SceneProvider!.RootScene.ChangeScene(UnderlyingBoard!);
public abstract IEnumerable<IBasePort> ExplicitPorts { get; }
public abstract IEnumerable<IBasePort> ImplicitPorts { get; }
@@ -24,12 +24,18 @@ public abstract partial class ProgrammableModule : BaseModule, ICompositeModule,
base.UpdateCables();
}
protected T GetModule<T>(string path) where T : SubModule
public override void Init()
{
T res = GetNode<T>(path);
res.Init();
res.ParentModule = this;
res.Board = Board;
return res;
base.Init();
InterlayerDataInModule[] explicitDataInModules = GetModules<InterlayerDataInModule>();
InterlayerDataOutModule[] explicitDataOutModules = GetModules<InterlayerDataOutModule>();
InterlayerSignalInModule[] explicitSignalInModules = GetModules<InterlayerSignalInModule>();
InterlayerSignalOutModule[] explicitSignalOutModules = GetModules<InterlayerSignalOutModule>();
for (int i = 0; i <= explicitDataInModules.Length; i++)
{
}
}
}