Upgrade
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Alchegos.DataStructure;
|
||||
using Enigmos.Cables;
|
||||
using Enigmos.Modules;
|
||||
using Enigmos.Modules.ProgrammableModules;
|
||||
@@ -47,7 +48,7 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
cable.Modulate = Color.Color8(255, 255, 255, (Byte)(CableVisualMode ? 20 : 255));
|
||||
}
|
||||
|
||||
public IModuleManualLayer? ModuleManualLayer { get; set; }
|
||||
public IModuleManualLayer ModuleManualLayer { get; set; }
|
||||
public bool ManualOpened { get; set; }
|
||||
protected HashSet<IBaseModule> Modules { get; set; } = new();
|
||||
|
||||
@@ -59,9 +60,8 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
Modules
|
||||
.OfType<ITerminalModule>()
|
||||
.Union(ProgrammableModules().SelectMany(module => module.UnderlyingBoard!.TerminalModules));
|
||||
|
||||
protected HashSet<IBasePort> Ports => Modules.SelectMany(module => module.Ports).ToHashSet();
|
||||
public IPanelViewer? PanelViewer { get; set; }
|
||||
|
||||
public IPanelViewer PanelViewer { get; set; }
|
||||
public Dictionary<IBasePort, IBaseCable> CablePairing { get; set; } = new();
|
||||
|
||||
public IEnumerable<IBasePort> OnBoardPorts
|
||||
@@ -74,9 +74,9 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
return res;
|
||||
}
|
||||
}
|
||||
public IBasePort? ConnectPending { get; set; }
|
||||
public IBoardControlLayer? CircuitBoardControlLayer { get; set; }
|
||||
public IModuleMovingLayer? ModuleMovingLayer { get; set; }
|
||||
public IBasePort ConnectPending { get; set; }
|
||||
public IBoardControlLayer CircuitBoardControlLayer { get; set; }
|
||||
public IModuleMovingLayer ModuleMovingLayer { get; set; }
|
||||
|
||||
public virtual void Init()
|
||||
{
|
||||
@@ -84,17 +84,18 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
Modules = new HashSet<IBaseModule>();
|
||||
FocusedCables = new HashSet<IBaseCable>();
|
||||
ConnectPending = null;
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
|
||||
ModuleManualLayer = GetNode<IModuleManualLayer>("ModuleManualLayer");
|
||||
ModuleMovingLayer = GetNode<IModuleMovingLayer>("ModuleMovingLayer");
|
||||
ModuleMovingLayer.Board = this;
|
||||
PanelViewer = GetNode<IPanelViewer>("PanelViewer");
|
||||
CircuitBoardControlLayer = GetNode<IBoardControlLayer>("CircuitBoardControlLayer");
|
||||
CircuitBoardControlLayer.Board = this;
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
|
||||
}
|
||||
|
||||
@@ -156,12 +157,12 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
|
||||
public override bool _CanDropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
IVariantWithType vData = data.As<IVariantWithType>();
|
||||
VariantWithType vData = data.As<VariantWithType>();
|
||||
if (vData.TypeHint != "Module")
|
||||
{
|
||||
if(vData.TypeHint != "Item")
|
||||
return false;
|
||||
IBaseItem item = vData.UnderlyingData.As<IBaseItem>();
|
||||
IBaseItem item = vData.UnderlyingData.As<Node>() as IBaseItem;
|
||||
if (item is IBaseModuleItem moduleItem)
|
||||
{
|
||||
foreach (IBaseModule module in Modules)
|
||||
@@ -187,7 +188,7 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
}
|
||||
public override void _DropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
IVariantWithType vData = data.As<IVariantWithType>();
|
||||
VariantWithType vData = data.As<VariantWithType>();
|
||||
if(vData.TypeHint == "Module")
|
||||
{
|
||||
BaseModule vModule = vData.UnderlyingData.As<BaseModule>();
|
||||
@@ -196,7 +197,7 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
}
|
||||
else
|
||||
{
|
||||
IBaseModuleItem moduleItem = vData.UnderlyingData.As<IBaseModuleItem>();
|
||||
IBaseModuleItem moduleItem = vData.UnderlyingData.As<Node>() as IBaseModuleItem;
|
||||
AddModule(moduleItem.ContentModule, atPosition);
|
||||
ItemDraggingControl.Instance.DraggingFrom!.Item = null;
|
||||
}
|
||||
|
||||
@@ -7,17 +7,13 @@ using Nocturnis.GlobalManagement.Constants;
|
||||
namespace Enigmos.Boards;
|
||||
public partial class FilterModuleBoard : BaseBoard, ISceneConcept
|
||||
{
|
||||
public FilterModule? FilterModule { get; set; }
|
||||
public FilterModule FilterModule { get; set; }
|
||||
|
||||
public FilterInputProviderModule? InputProvider { get; set; }
|
||||
public FilterInputProviderModule InputProvider { get; set; }
|
||||
|
||||
public IInterlayerDataOutModule[] FilterInputProxy { get; set; } = Array.Empty<IInterlayerDataOutModule>();
|
||||
//public IInterlayerDataOutModule[] Outputs { get; set; } = Array.Empty<IInterlayerDataOutModule>();
|
||||
|
||||
//public XIterativeOutputModule? IterativeOutput { get; set; }
|
||||
//public IDataInPort? Indicate { get; set; }
|
||||
//public IndicateInputModule? Indicate { get; set; }
|
||||
public FilterIndicateModule? Indicate { get; set; }
|
||||
|
||||
public FilterIndicateModule Indicate { get; set; }
|
||||
|
||||
public void Init(FilterModule filterModule)
|
||||
{
|
||||
@@ -29,7 +25,6 @@ public partial class FilterModuleBoard : BaseBoard, ISceneConcept
|
||||
for (int i = 1; i <= 3; i++)
|
||||
FilterInputProxy[i - 1] = GetModule<InterlayerDataOutModule>($"IO{i}");
|
||||
base.Init();
|
||||
//IterativeOutput = GetModule<XIterativeOutputModule>("IterativeOutput");
|
||||
Indicate = GetModule<FilterIndicateModule>("Indicate");
|
||||
Indicate.Indicate!.SetDataType(DataTypeConstant.BaseDataTypes.Bit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user