From b4d5afc4ba4c2fb1fde6fb769da0e6c84003d734 Mon Sep 17 00:00:00 2001 From: Mueller Wayan Date: Thu, 17 Apr 2025 21:37:59 +0200 Subject: [PATCH] Added EventPipeline to ClassDiagramm --- ClassDiagram.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/ClassDiagram.md b/ClassDiagram.md index e69de29..8555a40 100644 --- a/ClassDiagram.md +++ b/ClassDiagram.md @@ -0,0 +1,62 @@ +```mermaid + classDiagram + +namespace EventPipelines{ + %% === Basisklassen === + class FirebirdEventArgs { + <> + } + + class Pipeline~T~ { + - PipelineMaster : object + + OnEvent : EventHandler~T~ + + SendEvent(sender : object, args : T) + } + + class EventBus { + - pipelines : Dictionary~FirebirdEvent, Pipeline~T~> + - pendingHooks : Dictionary ~FirebirdEvent, List~Action~object~~ + + OnPipelineExist~T~(callback : Action, type : FirebirdEvent) + + BuildPipeline~T~(type : FirebirdEvent, master : object) : Pipeline~T~ + + GetPipeline~T~(type : FirebirdEvent) : Pipeline~T~ + } + + %% === Spezialisierte Pipelines === + class KeyboardPipeline { + <> + } + + class MousePipeline { + <> + } + + %% === EventArgs Spezialisierungen === + class FirebirdKeyboardEventArgs { + <> + } + + class FirebirdMouseEventArgs { + <> + } + + %% === Enum === + class FirebirdEvent { + <> + Tick + ModulesLoading + Startup + KeyboardInputs + MouseInputs + } +} + + %% === Beziehungen === + Pipeline~T~ <|-- KeyboardPipeline + Pipeline~T~ <|-- MousePipeline + FirebirdEventArgs <|-- FirebirdKeyboardEventArgs + FirebirdEventArgs <|-- FirebirdMouseEventArgs + EventBus -->Pipeline~T~ + EventBus -->Pipeline~T~ + + +``` \ No newline at end of file