Split project
This commit is contained in:
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
bin/
|
||||||
|
obj/
|
||||||
|
/packages/
|
||||||
|
riderModule.iml
|
||||||
|
/_ReSharper.Caches/
|
||||||
17
Nocturnis.csproj
Normal file
17
Nocturnis.csproj
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="GodotSharp" Version="4.3.0-beta.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\VirtualChemistry\VirtualChemistry.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
16
Nocturnis.sln
Normal file
16
Nocturnis.sln
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nocturnis", "Nocturnis.csproj", "{E9C078AE-B3C7-40E2-A823-7E42CE89A819}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{E9C078AE-B3C7-40E2-A823-7E42CE89A819}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E9C078AE-B3C7-40E2-A823-7E42CE89A819}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E9C078AE-B3C7-40E2-A823-7E42CE89A819}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E9C078AE-B3C7-40E2-A823-7E42CE89A819}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
7
global.json
Normal file
7
global.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"rollForward": "latestMinor",
|
||||||
|
"allowPrerelease": false
|
||||||
|
}
|
||||||
|
}
|
||||||
16
src/Communicators/IBaseCommunicator.cs
Normal file
16
src/Communicators/IBaseCommunicator.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
using Godot;
|
||||||
|
using Nocturnis.DataStructures;
|
||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
namespace Nocturnis.Communicators;
|
||||||
|
|
||||||
|
public interface IBaseCommunicator
|
||||||
|
{
|
||||||
|
ICommunicateModule PairedModule { get; set; }
|
||||||
|
IDataPackage DataBuffer { get; set; }
|
||||||
|
StringName CommunicationDataType { get; }
|
||||||
|
StringName CommunicationDirection { get; }
|
||||||
|
Texture2D IconTexture { get; }
|
||||||
|
string CustomName { get; set; }
|
||||||
|
bool Paired { get; }
|
||||||
|
}
|
||||||
8
src/Creatures/Characters/IBaseCharacter.cs
Normal file
8
src/Creatures/Characters/IBaseCharacter.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.UIElements;
|
||||||
|
|
||||||
|
namespace Nocturnis.Creatures.Characters;
|
||||||
|
|
||||||
|
public interface IBaseCharacter : IBaseCreature
|
||||||
|
{
|
||||||
|
IDashboardTab DashboardTab { get; set; }
|
||||||
|
}
|
||||||
10
src/Creatures/CreatureActions/ICreatureAction.cs
Normal file
10
src/Creatures/CreatureActions/ICreatureAction.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using Skeleton.Algebra;
|
||||||
|
using Skeleton.Algebra.DimensionProviders;
|
||||||
|
|
||||||
|
namespace Nocturnis.Creatures.CreatureActions;
|
||||||
|
using R2 = CategoryOf<IDim2>.OnField<double>.FVector;
|
||||||
|
public interface ICreatureAction
|
||||||
|
{
|
||||||
|
void Move(R2 dir);
|
||||||
|
void Attack(R2 dir);
|
||||||
|
}
|
||||||
8
src/Creatures/IBaseCreature.cs
Normal file
8
src/Creatures/IBaseCreature.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Creatures.CreatureActions;
|
||||||
|
|
||||||
|
namespace Nocturnis.Creatures;
|
||||||
|
|
||||||
|
public interface IBaseCreature
|
||||||
|
{
|
||||||
|
ICreatureAction Action { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
namespace Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
public interface IBoolParameter : IConfigurableParameter<bool>
|
||||||
|
{
|
||||||
|
string TrueDescription { get; set; }
|
||||||
|
string FalseDescription { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
public interface ICharParameter : IConfigurableParameter<char>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
namespace Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
public interface IConfigurableParameter
|
||||||
|
{
|
||||||
|
string ParameterName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IConfigurableParameter<T> : IConfigurableParameter
|
||||||
|
{
|
||||||
|
T ParameterValue { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
namespace Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
public interface IDoubleParameter : IConfigurableParameter<double>
|
||||||
|
{
|
||||||
|
double MinValue { get; set; }
|
||||||
|
double MaxValue { get; set; }
|
||||||
|
double Step { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
public interface IKeyParameter : IConfigurableParameter<StringName>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
12
src/DataStructures/IDataPackage.cs
Normal file
12
src/DataStructures/IDataPackage.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using Godot;
|
||||||
|
using Skeleton.Algebra;
|
||||||
|
using Skeleton.Algebra.DimensionProviders;
|
||||||
|
|
||||||
|
namespace Nocturnis.DataStructures;
|
||||||
|
using R2 = CategoryOf<IDim2>.OnField<double>.FVector;
|
||||||
|
public interface IDataPackage
|
||||||
|
{
|
||||||
|
void Assign(IDataPackage val, StringName key);
|
||||||
|
bool Bit { get; }
|
||||||
|
R2 R2 { get; }
|
||||||
|
}
|
||||||
11
src/DataStructures/IDataPortGroup.cs
Normal file
11
src/DataStructures/IDataPortGroup.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.DataStructures;
|
||||||
|
|
||||||
|
public interface IDataPortGroup
|
||||||
|
{
|
||||||
|
StringName SelectedType { get; set; }
|
||||||
|
StringName[] TypeOptions { get; set; }
|
||||||
|
void Inference();
|
||||||
|
string Description { get; set; }
|
||||||
|
}
|
||||||
6
src/DataStructures/IPresetModuleConnection.cs
Normal file
6
src/DataStructures/IPresetModuleConnection.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.DataStructures;
|
||||||
|
|
||||||
|
public interface IPresetModuleConnection
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
src/DataStructures/IVariantWithType.cs
Normal file
9
src/DataStructures/IVariantWithType.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.DataStructures;
|
||||||
|
|
||||||
|
public interface IVariantWithType
|
||||||
|
{
|
||||||
|
Variant UnderlyingData { get; set; }
|
||||||
|
string TypeHint { get; set; }
|
||||||
|
}
|
||||||
18
src/Enigmos/Boards/IBaseBoard.cs
Normal file
18
src/Enigmos/Boards/IBaseBoard.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using Nocturnis.Enigmos.Cables;
|
||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
using Nocturnis.UIElements.Layers;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Boards;
|
||||||
|
|
||||||
|
public interface IBaseBoard
|
||||||
|
{
|
||||||
|
IBasePort? ConnectPending { get; set; }
|
||||||
|
Dictionary<IBasePort, IBaseCable> CablePairing { get; set; }
|
||||||
|
void AddCable(IBaseCable cable);
|
||||||
|
HashSet<IBaseCable> FocusedCables { get; set; }
|
||||||
|
bool ManualOpened { get; set; }
|
||||||
|
bool CableVisualMode { get; set; }
|
||||||
|
IModuleManualLayer ModuleManualLayer { get; set; }
|
||||||
|
IModuleMovingLayer ModuleMovingLayer { get; set; }
|
||||||
|
}
|
||||||
11
src/Enigmos/Cables/IBaseCable.cs
Normal file
11
src/Enigmos/Cables/IBaseCable.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Cables;
|
||||||
|
|
||||||
|
public interface IBaseCable
|
||||||
|
{
|
||||||
|
void Free();
|
||||||
|
void LineUpdate();
|
||||||
|
Color Modulate { get; set; }
|
||||||
|
Node AsNode { get; }
|
||||||
|
}
|
||||||
6
src/Enigmos/ModuleManuals/IModuleManualTab.cs
Normal file
6
src/Enigmos/ModuleManuals/IModuleManualTab.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.ModuleManuals;
|
||||||
|
|
||||||
|
public interface IModuleManualTab
|
||||||
|
{
|
||||||
|
string FullName();
|
||||||
|
}
|
||||||
22
src/Enigmos/Modules/IBaseModule.cs
Normal file
22
src/Enigmos/Modules/IBaseModule.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
using Godot;
|
||||||
|
using Nocturnis.Enigmos.Boards;
|
||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
using Nocturnis.UIElements;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IBaseModule
|
||||||
|
{
|
||||||
|
IEnumerable<IBasePort> Ports { get; }
|
||||||
|
IBaseBoard Board { get; set; }
|
||||||
|
Vector2 PositionToBoard { get; }
|
||||||
|
Vector2 Size { get; set; }
|
||||||
|
double MaintenanceAlpha { get; }
|
||||||
|
double MaintenanceBeta { get; }
|
||||||
|
string GetDescription { get; }
|
||||||
|
ISimpleLabel Label { get; }
|
||||||
|
Node AsNode { get; }
|
||||||
|
Vector2 Position { get; set; }
|
||||||
|
string LabelString { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
13
src/Enigmos/Modules/ICommunicateModule.cs
Normal file
13
src/Enigmos/Modules/ICommunicateModule.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using Godot;
|
||||||
|
using Nocturnis.Communicators;
|
||||||
|
using Nocturnis.DataStructures;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface ICommunicateModule
|
||||||
|
{
|
||||||
|
IBaseCommunicator PairedCommunicator { get; set; }
|
||||||
|
StringName CommunicationDataType { get; }
|
||||||
|
StringName CommunicationDirection { get; }
|
||||||
|
IDataPackage DataBuffer { get; set; }
|
||||||
|
}
|
||||||
6
src/Enigmos/Modules/ICompositeModule.cs
Normal file
6
src/Enigmos/Modules/ICompositeModule.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface ICompositeModule
|
||||||
|
{
|
||||||
|
IBaseModule[] SubModules();
|
||||||
|
}
|
||||||
9
src/Enigmos/Modules/IComputationalCompositeModule.cs
Normal file
9
src/Enigmos/Modules/IComputationalCompositeModule.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IComputationalCompositeModule : ICompositeModule
|
||||||
|
{
|
||||||
|
void Compute(IRootModule root);
|
||||||
|
Vector2 PositionToBoard();
|
||||||
|
}
|
||||||
8
src/Enigmos/Modules/IErrorHandlerModule.cs
Normal file
8
src/Enigmos/Modules/IErrorHandlerModule.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IErrorHandlerModule
|
||||||
|
{
|
||||||
|
void ErrorHandler(Exception error, int idx);
|
||||||
|
string[] HandlingOptions();
|
||||||
|
int SelectedOption { get; set; }
|
||||||
|
}
|
||||||
9
src/Enigmos/Modules/IInterlayerDataInModule.cs
Normal file
9
src/Enigmos/Modules/IInterlayerDataInModule.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IInterlayerDataInModule : IInterlayerModule
|
||||||
|
{
|
||||||
|
IInterlayerDataOutModule DualModule { get; set; }
|
||||||
|
IDataInPort DataIn { get; set; }
|
||||||
|
}
|
||||||
9
src/Enigmos/Modules/IInterlayerDataOutModule.cs
Normal file
9
src/Enigmos/Modules/IInterlayerDataOutModule.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IInterlayerDataOutModule : IInterlayerModule
|
||||||
|
{
|
||||||
|
IInterlayerDataInModule DualModule { get; set; }
|
||||||
|
IDataOutPort DataOut { get; set; }
|
||||||
|
}
|
||||||
10
src/Enigmos/Modules/IInterlayerModule.cs
Normal file
10
src/Enigmos/Modules/IInterlayerModule.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IInterlayerModule
|
||||||
|
{
|
||||||
|
IBasePort UnderlyingPort();
|
||||||
|
IProgrammableModule ParentModule { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
9
src/Enigmos/Modules/IInterlayerSignalInModule.cs
Normal file
9
src/Enigmos/Modules/IInterlayerSignalInModule.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IInterlayerSignalInModule : IInterlayerModule
|
||||||
|
{
|
||||||
|
IInterlayerSignalOutModule DualModule { get; set; }
|
||||||
|
ISignalInPort SignalIn { get; set; }
|
||||||
|
}
|
||||||
9
src/Enigmos/Modules/IInterlayerSignalOutModule.cs
Normal file
9
src/Enigmos/Modules/IInterlayerSignalOutModule.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IInterlayerSignalOutModule : IInterlayerModule
|
||||||
|
{
|
||||||
|
IInterlayerSignalInModule DualModule { get; set; }
|
||||||
|
ISignalOutPort SignalOut { get; set; }
|
||||||
|
}
|
||||||
10
src/Enigmos/Modules/IParameterizedModule.cs
Normal file
10
src/Enigmos/Modules/IParameterizedModule.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using Nocturnis.DataStructures;
|
||||||
|
using Nocturnis.DataStructures.ConfigurableParameters;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IParameterizedModule
|
||||||
|
{
|
||||||
|
HashSet<IConfigurableParameter> ConfigurableParameters { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
12
src/Enigmos/Modules/IPolymorphismModule.cs
Normal file
12
src/Enigmos/Modules/IPolymorphismModule.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using Nocturnis.DataStructures;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IPolymorphismModule
|
||||||
|
{
|
||||||
|
HashSet<IDataPortGroup> ConfigurablePortGroups { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Update type of all ports base on configurable port groups' type
|
||||||
|
/// </summary>
|
||||||
|
void Inference();
|
||||||
|
}
|
||||||
6
src/Enigmos/Modules/IProgrammableModule.cs
Normal file
6
src/Enigmos/Modules/IProgrammableModule.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IProgrammableModule
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Modules/IRootModule.cs
Normal file
6
src/Enigmos/Modules/IRootModule.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
public interface IRootModule
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
19
src/Enigmos/Ports/IBasePort.cs
Normal file
19
src/Enigmos/Ports/IBasePort.cs
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
using Godot;
|
||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
|
using Nocturnis.Inventories.Items.Items;
|
||||||
|
|
||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface IBasePort
|
||||||
|
{
|
||||||
|
IBaseModule Module { get; set; }
|
||||||
|
bool IsMatch(IBasePort oth);
|
||||||
|
IBasePort? ConnectedPort { get; set; }
|
||||||
|
void SetStatusConnected();
|
||||||
|
void SetStatusNormal();
|
||||||
|
void SetStatusPending();
|
||||||
|
StringName Name { get; set; }
|
||||||
|
int Condition { get; set; }
|
||||||
|
int Quality { get; set; }
|
||||||
|
void FixWith(IBaseChemicalItem item);
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/IDataInPort.cs
Normal file
6
src/Enigmos/Ports/IDataInPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface IDataInPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/IDataOutPort.cs
Normal file
6
src/Enigmos/Ports/IDataOutPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface IDataOutPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/IDataPort.cs
Normal file
6
src/Enigmos/Ports/IDataPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface IDataPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/ISignalInPort.cs
Normal file
6
src/Enigmos/Ports/ISignalInPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface ISignalInPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/ISignalOutPort.cs
Normal file
6
src/Enigmos/Ports/ISignalOutPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface ISignalOutPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
src/Enigmos/Ports/ISignalPort.cs
Normal file
6
src/Enigmos/Ports/ISignalPort.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Enigmos.Ports;
|
||||||
|
|
||||||
|
public interface ISignalPort
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
8
src/Inventories/ItemSlots/IBaseItemSlot.cs
Normal file
8
src/Inventories/ItemSlots/IBaseItemSlot.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Inventories.Items;
|
||||||
|
|
||||||
|
namespace Nocturnis.Inventories.ItemSlots;
|
||||||
|
|
||||||
|
public interface IBaseItemSlot
|
||||||
|
{
|
||||||
|
IBaseItem Item { get; set; }
|
||||||
|
}
|
||||||
8
src/Inventories/ItemSlots/ItemSlots/IChemicalItemSlot.cs
Normal file
8
src/Inventories/ItemSlots/ItemSlots/IChemicalItemSlot.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Inventories.Items.Items;
|
||||||
|
|
||||||
|
namespace Nocturnis.Inventories.ItemSlots.ItemSlots;
|
||||||
|
|
||||||
|
public interface IChemicalItemSlot
|
||||||
|
{
|
||||||
|
IBaseChemicalItem Item { get; set; }
|
||||||
|
}
|
||||||
6
src/Inventories/Items/IBaseItem.cs
Normal file
6
src/Inventories/Items/IBaseItem.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.Inventories.Items;
|
||||||
|
|
||||||
|
public interface IBaseItem
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
src/Inventories/Items/Items/IBaseChemicalItem.cs
Normal file
9
src/Inventories/Items/Items/IBaseChemicalItem.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using VirtualChemistry.Chemistry.Mixtures.Implements;
|
||||||
|
|
||||||
|
namespace Nocturnis.Inventories.Items.Items;
|
||||||
|
|
||||||
|
public interface IBaseChemicalItem : IBaseItem
|
||||||
|
{
|
||||||
|
HeterogeneousMixture ContentMaterial { get; set; }
|
||||||
|
void ConsumeFromBottom(double amount);
|
||||||
|
}
|
||||||
8
src/Inventories/Items/Items/IBaseModuleItem.cs
Normal file
8
src/Inventories/Items/Items/IBaseModuleItem.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
namespace Nocturnis.Inventories.Items.Items;
|
||||||
|
|
||||||
|
public interface IBaseModuleItem
|
||||||
|
{
|
||||||
|
IBaseModule ContentModule { get; }
|
||||||
|
}
|
||||||
8
src/Scenes/IRootScene.cs
Normal file
8
src/Scenes/IRootScene.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.Scenes;
|
||||||
|
|
||||||
|
public interface IRootScene
|
||||||
|
{
|
||||||
|
void ChangeScene(Node scene);
|
||||||
|
}
|
||||||
8
src/UIElements/IDashboardTab.cs
Normal file
8
src/UIElements/IDashboardTab.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Communicators;
|
||||||
|
|
||||||
|
namespace Nocturnis.UIElements;
|
||||||
|
|
||||||
|
public interface IDashboardTab
|
||||||
|
{
|
||||||
|
IEnumerable<IBaseCommunicator> AllCommunicators { get; }
|
||||||
|
}
|
||||||
6
src/UIElements/IPanelViewer.cs
Normal file
6
src/UIElements/IPanelViewer.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Nocturnis.UIElements;
|
||||||
|
|
||||||
|
public interface IPanelViewer
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
12
src/UIElements/ISimpleLabel.cs
Normal file
12
src/UIElements/ISimpleLabel.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.UIElements;
|
||||||
|
|
||||||
|
public interface ISimpleLabel
|
||||||
|
{
|
||||||
|
Vector2 Position { get; set; }
|
||||||
|
Vector2 Size { get; set; }
|
||||||
|
string Text { get; set; }
|
||||||
|
Node AsNode { get; }
|
||||||
|
bool Visible { get; set; }
|
||||||
|
}
|
||||||
8
src/UIElements/Layers/IBoardControlLayer.cs
Normal file
8
src/UIElements/Layers/IBoardControlLayer.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using Nocturnis.Enigmos.Boards;
|
||||||
|
|
||||||
|
namespace Nocturnis.UIElements.Layers;
|
||||||
|
|
||||||
|
public interface IBoardControlLayer
|
||||||
|
{
|
||||||
|
IBaseBoard Board { get; set; }
|
||||||
|
}
|
||||||
9
src/UIElements/Layers/IModuleManualLayer.cs
Normal file
9
src/UIElements/Layers/IModuleManualLayer.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace Nocturnis.UIElements.Layers;
|
||||||
|
|
||||||
|
public interface IModuleManualLayer
|
||||||
|
{
|
||||||
|
void AddChild(Node child);
|
||||||
|
Marker2D ManualPosition { get; set; }
|
||||||
|
}
|
||||||
12
src/UIElements/Layers/IModuleMovingLayer.cs
Normal file
12
src/UIElements/Layers/IModuleMovingLayer.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using Godot;
|
||||||
|
using Nocturnis.Enigmos.Boards;
|
||||||
|
using Nocturnis.Enigmos.Modules;
|
||||||
|
|
||||||
|
namespace Nocturnis.UIElements.Layers;
|
||||||
|
|
||||||
|
public interface IModuleMovingLayer
|
||||||
|
{
|
||||||
|
IBaseModule DraggingModule { get; set; }
|
||||||
|
Vector2 MouseOffset { get; set; }
|
||||||
|
IBaseBoard Board { get; set; }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user