Bracket System

This commit is contained in:
h z
2024-09-26 10:29:27 +01:00
parent a9afe94ebc
commit 67dd8ac8dc
25 changed files with 266 additions and 92 deletions

View File

@@ -0,0 +1,15 @@
namespace Nocturnis.Hermeteus.BracketSystem;
public interface IBracketLine
{
string Topic { get; set; }
string Line { get; set; }
bool CleanPrevious { get; set; }
string[] BraLines { get; set; }
string[] KetLines { get; set; }
string[] ArrowMarkers { get; set; }
string[] Conditions { get; set; }
HashSet<IBracketLine> Successors { get; set; }
bool IsReady { get; }
}

View File

@@ -0,0 +1,13 @@
namespace Nocturnis.Hermeteus.BracketSystem;
public interface IBracketTopic
{
bool Reusable { get; set; }
string Topic { get; set; }
bool Finished { get; set; }
IBracketLine Root { get; set; }
IBracketLine CurrentLine { get; set; }
void Activate();
void Finish();
Dictionary<string, IBracketLine> LineMap { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace Nocturnis.Hermeteus.BracketSystem;
public interface ICondition
{
Func<bool> Check { get; set; }
}

View File

@@ -0,0 +1,13 @@
using Godot;
using Nocturnis.UIElements.Layers;
namespace Nocturnis.Hermeteus.BracketSystem;
public interface IInstructionAgent : INodeInterface
{
void Load(string content, Action callBack);
void Clean(Action callBack);
void LoadArrows(string[] ends);
void CleanArrows();
void Init(IInstructionLayer insLayer);
}

View File

@@ -0,0 +1,15 @@
namespace Nocturnis.Hermeteus.BracketSystem.Processors;
public interface IBracketProcessor
{
IInstructionAgent Bra { get; set; }
IInstructionAgent Ket { get; set; }
void BraCallback();
void KetCallback();
bool BraFinished { get; set; }
bool KetFinished { get; set; }
double BracketEsc { get; set; }
string Status { get; set; }
void Init(IInstructionAgent bra, IInstructionAgent pointer, IInstructionAgent ket);
void SyncLoad(IBracketLine talk);
}