37 lines
1003 B
C#
37 lines
1003 B
C#
using Godot;
|
|
using Nocturnis;
|
|
using Nocturnis.DataStructures.DataPortGroups;
|
|
using Nocturnis.Enigmos.ModuleManuals;
|
|
using Nocturnis.Enigmos.Modules;
|
|
using Nocturnis.GlobalManagement.Providers;
|
|
|
|
namespace Enigmos.Manual;
|
|
|
|
public partial class ModulePolymorphismTab : Panel, IModuleManualTab, ISceneConcept
|
|
{
|
|
private bool InitFlag { get; set; }
|
|
|
|
public void Init(IPolymorphismModule module)
|
|
{
|
|
Module = module;
|
|
InitFlag = true;
|
|
}
|
|
|
|
public string FullName() => "Polymorphism";
|
|
public IPolymorphismModule Module { get; set; }
|
|
private VBoxContainer PortGroups { get; set; }
|
|
|
|
public override void _Ready()
|
|
{
|
|
if (!InitFlag)
|
|
throw new Exception("TODO - INIT REQUIRED");
|
|
PortGroups = GetNode<VBoxContainer>("ScrolledItems/PortGroups");
|
|
foreach (IDataPortGroup group in Module.ConfigurablePortGroups)
|
|
{
|
|
PortTypeSelector selector = GlobalProvider.ProcessProvider.BuildPortTypeSelector(group) as PortTypeSelector;
|
|
PortGroups.AddChild(selector);
|
|
}
|
|
Name = "Poly";
|
|
base._Ready();
|
|
}
|
|
} |