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