refactor programmable modules

This commit is contained in:
h z
2024-07-06 02:12:54 +01:00
parent be5428d708
commit 3eec8a1345
26 changed files with 329 additions and 364 deletions

View File

@@ -9,7 +9,7 @@ namespace Enigmos.Modules.ProgrammableModules;
public abstract partial class ProgrammableModule : BaseModule, ICompositeModule, IProgrammableModule
{
public BaseBoard? UnderlyingBoard { get; set; }
public abstract IBaseModule[] SubModules();
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,7 +24,7 @@ public abstract partial class ProgrammableModule : BaseModule, ICompositeModule,
base.UpdateCables();
}
protected T GetModule<T>(string path) where T : BaseModule, IInterlayerModule
protected T GetModule<T>(string path) where T : SubModule
{
T res = GetNode<T>(path);
res.Init();