To net8.0

This commit is contained in:
h z
2024-07-13 09:29:45 +01:00
parent 1df3c08a9e
commit f6a8f3e899
31 changed files with 53 additions and 72 deletions

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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>

View File

@@ -1,4 +1,3 @@
using Enigmos.Modules.ProgrammableModules;
using Godot;
using Nocturnis;
using Nocturnis.Enigmos.ModuleManuals;

View File

@@ -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";

View File

@@ -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; }

View File

@@ -1,4 +1,3 @@
using Enigmos.Modules.ProgrammableModules;
using Godot;
using Nocturnis;
using Nocturnis.Enigmos.ModuleManuals;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -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();
}

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -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;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;
using Nocturnis.Enigmos.Modules;

View File

@@ -1,4 +1,3 @@
using Godot;
using Nocturnis.DataStructures.Data;
using Nocturnis.DataStructures.DataPortGroups;
using Nocturnis.DataStructures.DataTypes;

View File

@@ -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;
}
}

View File

@@ -1,4 +1,3 @@
using System.Diagnostics;
using Nocturnis.Creatures;
using Nocturnis.Enigmos.Modules;
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;

View File

@@ -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();
}
}

View File

@@ -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; }
}
}

View File

@@ -1,4 +1,3 @@
using Enigmos.Boards;
using Enigmos.Modules.InterlayerModules;
using Nocturnis;
using Nocturnis.Enigmos.Boards;

View File

@@ -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; }

View File

@@ -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()
{

View File

@@ -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()
{
}
}

View File

@@ -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();
}
}

View File

@@ -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;
}
}

View File

@@ -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();
}
}

View File

@@ -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;