Bracket System
This commit is contained in:
15
src/Hermeteus/BracketSystem/IBracketLine.cs
Normal file
15
src/Hermeteus/BracketSystem/IBracketLine.cs
Normal 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; }
|
||||
}
|
||||
|
||||
13
src/Hermeteus/BracketSystem/IBracketTopic.cs
Normal file
13
src/Hermeteus/BracketSystem/IBracketTopic.cs
Normal 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; }
|
||||
}
|
||||
6
src/Hermeteus/BracketSystem/ICondition.cs
Normal file
6
src/Hermeteus/BracketSystem/ICondition.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Nocturnis.Hermeteus.BracketSystem;
|
||||
|
||||
public interface ICondition
|
||||
{
|
||||
Func<bool> Check { get; set; }
|
||||
}
|
||||
13
src/Hermeteus/BracketSystem/IInstructionAgent.cs
Normal file
13
src/Hermeteus/BracketSystem/IInstructionAgent.cs
Normal 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);
|
||||
}
|
||||
15
src/Hermeteus/BracketSystem/Processors/IBracketProcessor.cs
Normal file
15
src/Hermeteus/BracketSystem/Processors/IBracketProcessor.cs
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user