To net8.0
This commit is contained in:
@@ -3,7 +3,6 @@ using Enigmos.Cables;
|
||||
using Enigmos.Modules;
|
||||
using Enigmos.Modules.ProgrammableModules;
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures;
|
||||
using Nocturnis.Enigmos.Boards;
|
||||
using Nocturnis.Enigmos.Cables;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
@@ -93,12 +92,6 @@ public abstract partial class BaseBoard : Panel, IBaseBoard
|
||||
CircuitBoardControlLayer.Board = this;
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
|
||||
}
|
||||
|
||||
protected virtual void AddModule(IBaseModule module, Vector2 pos)
|
||||
{
|
||||
module.Board = this;
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
using Enigmos.Modules.ControllingModules;
|
||||
using Enigmos.Modules.TerminalModules;
|
||||
using Nocturnis.Creatures;
|
||||
using Nocturnis.Enigmos.Boards;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
namespace Enigmos.Boards;
|
||||
|
||||
public partial class PrimaryModuleBoard : BaseBoard
|
||||
public partial class PrimaryModuleBoard : BaseBoard, IPrimaryBoard
|
||||
{
|
||||
private IBaseCreature? ManagedBy { get; set; }
|
||||
public IRootModule? Root { get; set; }
|
||||
public EngineModule? Engine { get; set; }
|
||||
private IBaseCreature ManagedBy { get; set; }
|
||||
public IRootModule Root { get; set; }
|
||||
public IEngineModule Engine { get; set; }
|
||||
|
||||
|
||||
public void Init(IBaseCreature manager)
|
||||
@@ -29,7 +30,7 @@ public partial class PrimaryModuleBoard : BaseBoard
|
||||
if (!Root!.ActionFinished)
|
||||
return;
|
||||
//Root.Timer = Stopwatch.StartNew();
|
||||
Engine!.Drain();
|
||||
Engine!.Consume();
|
||||
if (EnigmosControl.Instance.Energy < EnigmosConstant.IdlePower)
|
||||
{
|
||||
Root!.ActionFinished = true;
|
||||
@@ -38,15 +39,8 @@ public partial class PrimaryModuleBoard : BaseBoard
|
||||
}
|
||||
Root.Start();
|
||||
foreach (ITerminalModule tm in TerminalModules)
|
||||
{
|
||||
tm.Consume();
|
||||
}
|
||||
|
||||
|
||||
//Root.RouteWithTimeoutHandle(Root);
|
||||
//Root.Timer.Reset();
|
||||
//foreach (TerminalModule module in TerminalModules())
|
||||
// module.ConsumeWithTimeoutHandle(Root);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--Project Sdk="Microsoft.NET.Sdk"-->
|
||||
<Project Sdk="Godot.NET.Sdk/4.3.0-beta.3">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>disable</Nullable>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Enigmos.Modules.ProgrammableModules;
|
||||
using Godot;
|
||||
using Nocturnis;
|
||||
using Nocturnis.Enigmos.ModuleManuals;
|
||||
|
||||
@@ -28,10 +28,7 @@ public partial class ModulePolymorphismTab : Panel, IModuleManualTab, ISceneConc
|
||||
PortGroups = GetNode<VBoxContainer>("ScrolledItems/PortGroups");
|
||||
foreach (IDataPortGroup group in Module.ConfigurablePortGroups)
|
||||
{
|
||||
PortTypeSelector selector = GlobalProvider
|
||||
.AssetMapper<PortTypeSelector>.Scene
|
||||
.Instantiate<PortTypeSelector>();
|
||||
selector.Init(group);
|
||||
PortTypeSelector selector = GlobalProvider.ProcessProvider.BuildPortTypeSelector(group) as PortTypeSelector;
|
||||
PortGroups.AddChild(selector);
|
||||
}
|
||||
Name = "Poly";
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
using Godot;
|
||||
using Nocturnis;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.ModuleManuals;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Manual;
|
||||
|
||||
public partial class PortTypeSelector : Control, ISceneConcept
|
||||
public partial class PortTypeSelector : Control, ISceneConcept, IPortTypeSelector
|
||||
{
|
||||
private bool InitFlag { get; set; }
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Enigmos.Modules.ProgrammableModules;
|
||||
using Godot;
|
||||
using Nocturnis;
|
||||
using Nocturnis.Enigmos.ModuleManuals;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -11,7 +11,7 @@ public abstract partial class ComparisionModule : BinaryComputationalModule,
|
||||
IDuplicateOutputModule,
|
||||
IOperationModule
|
||||
{
|
||||
private IBoolParameter? Greater { get; set; }
|
||||
private IBoolParameter Greater { get; set; }
|
||||
public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new();
|
||||
|
||||
public override void Init()
|
||||
@@ -21,7 +21,7 @@ public abstract partial class ComparisionModule : BinaryComputationalModule,
|
||||
this.SetInputType(DataTypeConstant.BaseDataTypes.Real);
|
||||
this.SetOutputType(DataTypeConstant.BaseDataTypes.Real);
|
||||
Greater = GlobalProvider.DataStructureProvider!.NewBoolParameter("Method", "gt", "lt", true);
|
||||
ConfigurableParameters = new HashSet<IConfigurableParameter>() { Greater };
|
||||
ConfigurableParameters = new HashSet<IConfigurableParameter> { Greater };
|
||||
PostInit();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
@@ -16,8 +15,8 @@ public abstract partial class V2Module : BinaryComputationalModule,
|
||||
IPolymorphismModule,
|
||||
IDuplicateOutputModule
|
||||
{
|
||||
private IDataPortGroup? ScalarInputGroup { get; set; }
|
||||
private IDataPortGroup? OutputGroup { get; set; }
|
||||
private IDataPortGroup ScalarInputGroup { get; set; }
|
||||
private IDataPortGroup OutputGroup { get; set; }
|
||||
|
||||
public override double MaintenanceAlpha => 0.77852142d;
|
||||
public override double MaintenanceBeta => 0.9544432d;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Godot;
|
||||
using Nocturnis.DataStructures.Data;
|
||||
using Nocturnis.DataStructures.DataPortGroups;
|
||||
using Nocturnis.DataStructures.DataTypes;
|
||||
|
||||
@@ -10,8 +10,7 @@ public abstract partial class AttackActionModule : ActionModule, ITerminalModule
|
||||
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();
|
||||
public void Drain()
|
||||
{
|
||||
foreach (IDataInPort ip in DataInPorts)
|
||||
_ = ip.GetData.Get;
|
||||
|
||||
}
|
||||
|
||||
public bool Finished { get; set; }
|
||||
@@ -28,6 +27,7 @@ public abstract partial class AttackActionModule : ActionModule, ITerminalModule
|
||||
public override void Act()
|
||||
{
|
||||
CreatureControl.Instance.CurrentCharacter!.Action.Attack(DataInPorts[0].GetData.Get!.R2);
|
||||
Finished = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using System.Diagnostics;
|
||||
using Nocturnis.Creatures;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
|
||||
@@ -3,7 +3,6 @@ using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
using Nocturnis.GlobalManagement.Constants;
|
||||
using Nocturnis.GlobalManagement.Controls;
|
||||
using Nocturnis.GlobalManagement.Providers;
|
||||
|
||||
namespace Enigmos.Modules.ControllingModules;
|
||||
@@ -40,10 +39,8 @@ public abstract partial class SinglePoleDoubleThrowSwitchModule : PiplineModule,
|
||||
ISignalOutPort selectedPort = (LeftPortForTrue!.ParameterValue && DataInPorts[0].GetData.Get!.Bit)
|
||||
? SignalOutPorts[0]
|
||||
: SignalOutPorts[1];
|
||||
if (selectedPort.Connected)
|
||||
selectedPort.Route();
|
||||
else
|
||||
EnigmosControl.Instance.RootModule.ActionFinished = true;
|
||||
|
||||
selectedPort.Route();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,14 +8,14 @@ namespace Enigmos.Modules.InterlayerModules;
|
||||
|
||||
public partial class InterlayerSignalInModule : SubModule, IInterlayerSignalInModule
|
||||
{
|
||||
public new IProgrammableModule? ParentModule
|
||||
public new IProgrammableModule ParentModule
|
||||
{
|
||||
get => base.ParentModule as IProgrammableModule;
|
||||
set => base.ParentModule = value;
|
||||
}
|
||||
public IBasePort UnderlyingPort => SignalIn!;
|
||||
public IInterlayerSignalOutModule? DualModule { get; set; }
|
||||
public ISignalInPort? SignalIn { get; set; }
|
||||
public IInterlayerSignalOutModule DualModule { get; set; }
|
||||
public ISignalInPort SignalIn { get; set; }
|
||||
public ISignalInPort[] SignalInPorts { get; set; } = Array.Empty<ISignalInPort>();
|
||||
|
||||
public override void Init()
|
||||
@@ -28,4 +28,4 @@ public partial class InterlayerSignalInModule : SubModule, IInterlayerSignalInMo
|
||||
|
||||
public void Execute() => DualModule!.SignalOut!.Route();
|
||||
public bool Visited { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Enigmos.Boards;
|
||||
using Enigmos.Modules.InterlayerModules;
|
||||
using Nocturnis;
|
||||
using Nocturnis.Enigmos.Boards;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Enigmos.Ports.DataPorts;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
||||
@@ -9,7 +8,7 @@ using Skeleton.Utils.Helpers;
|
||||
using VirtualChemistry.Chemistry.Mixtures.Implements;
|
||||
|
||||
namespace Enigmos.Modules.TerminalModules;
|
||||
public abstract partial class EngineModule : TerminalModule
|
||||
public abstract partial class EngineModule : TerminalModule, IEngineModule
|
||||
{
|
||||
protected override bool Draggable => false;
|
||||
public IDataInPort Throttle { get; set; }
|
||||
|
||||
@@ -6,8 +6,8 @@ namespace Enigmos.Modules.TerminalModules.TestingModules;
|
||||
|
||||
public abstract partial class R2ReaderModule : TerminalModule
|
||||
{
|
||||
private DataInPort? DataIn { get; set; }
|
||||
private R2Reader? R2Reader { get; set; }
|
||||
private DataInPort DataIn { get; set; }
|
||||
private R2Reader R2Reader { get; set; }
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Godot;
|
||||
using Nocturnis.Attributes;
|
||||
using Nocturnis.Enigmos.Cables;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
@@ -24,7 +23,12 @@ public abstract partial class BasePort : TextureButton, IBasePort
|
||||
public bool Connected => ConnectedPort != null;
|
||||
|
||||
public abstract void SetStatusPending();
|
||||
public abstract void SetStatusConnected();
|
||||
|
||||
public virtual void SetStatusConnected()
|
||||
{
|
||||
PostConnect();
|
||||
}
|
||||
|
||||
public abstract void SetStatusNormal();
|
||||
/// <summary>
|
||||
/// Determine whether this port can be connected with given port
|
||||
@@ -34,6 +38,9 @@ public abstract partial class BasePort : TextureButton, IBasePort
|
||||
public virtual void Init()
|
||||
{
|
||||
}
|
||||
[Expose]
|
||||
public void Connect() => this.ExtConnect();
|
||||
|
||||
public virtual void PostConnect()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,4 +38,8 @@ public abstract partial class DataOutPort : DataPort, IDataOutPort
|
||||
}
|
||||
|
||||
public DataCache OutData { get; set; } = new(x => (0, DataTypeConstant.BaseDataTypes.Null));
|
||||
public override void PostConnect()
|
||||
{
|
||||
Module.Define();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,8 +48,10 @@ public abstract partial class DataPort : BasePort, IDataPort
|
||||
public override void SetStatusPending() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider!.DataPortStatusPending;
|
||||
|
||||
public override void SetStatusConnected() =>
|
||||
public override void SetStatusConnected()
|
||||
{
|
||||
base.SetStatusConnected();
|
||||
TextureNormal = GlobalProvider.EnigmosProvider!.DataPortStatusConnected;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ using Enigmos.Cables;
|
||||
using Nocturnis.Enigmos.Modules;
|
||||
using Nocturnis.Enigmos.Ports;
|
||||
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
|
||||
using Nocturnis.GlobalManagement.Controls;
|
||||
|
||||
namespace Enigmos.Ports.SignalPorts;
|
||||
|
||||
@@ -33,11 +34,11 @@ public partial class SignalOutPort : SignalPort, ISignalOutPort
|
||||
public void Route()
|
||||
{
|
||||
if (!Connected)
|
||||
{
|
||||
CreatureControl.Instance.CurrentCharacter!.MotherBoard.Root.ActionFinished = true;
|
||||
return;
|
||||
ConnectedPort!.Module.Execute();
|
||||
}
|
||||
public void Connect()
|
||||
{
|
||||
Console.WriteLine("XXXXXX");
|
||||
}
|
||||
ConnectedPort!.Module.Visit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,9 +20,11 @@ public abstract partial class SignalPort : BasePort, ISignalPort
|
||||
private void MouseEnteredHandler() => SignalDirection!.Visible = true;
|
||||
private void MouseExitedHandler() => SignalDirection!.Visible = false;
|
||||
|
||||
public override void SetStatusConnected() =>
|
||||
public override void SetStatusConnected()
|
||||
{
|
||||
base.SetStatusConnected();
|
||||
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusConnected;
|
||||
|
||||
}
|
||||
public override void SetStatusNormal() =>
|
||||
TextureNormal = GlobalProvider.EnigmosProvider!.SignalPortStatusNormal;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user