Files
Enigmos/Manual/ModulePolymorphismTab.cs
2024-07-10 07:02:11 +01:00

40 lines
1.0 KiB
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
.AssetMapper<PortTypeSelector>.Scene
.Instantiate<PortTypeSelector>();
selector.Init(group);
PortGroups.AddChild(selector);
}
Name = "Poly";
base._Ready();
}
}