Added ModulLoader

This commit is contained in:
Mueller Wayan
2025-04-22 20:19:35 +02:00
parent 766b2e414b
commit 47ddfed9bc
43 changed files with 471 additions and 372 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
+222 -116
View File
@@ -3,48 +3,72 @@
"WorkspaceRootPath": "G:\\Coding\\Firebird2D\\", "WorkspaceRootPath": "G:\\Coding\\Firebird2D\\",
"Documents": [ "Documents": [
{ {
"AbsoluteMoniker": "D:0:0:{567FA588-5EE8-4B36-9C81-47C76C46D782}|Firebird2D.SFMLExtensions\\Firebird2D.SFMLExtensions.csproj|g:\\coding\\firebird2d\\firebird2d.sfmlextensions\\floatrectangeextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|g:\\coding\\firebird2d\\firebird2d.keymapper\\keymapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{567FA588-5EE8-4B36-9C81-47C76C46D782}|Firebird2D.SFMLExtensions\\Firebird2D.SFMLExtensions.csproj|solutionrelative:firebird2d.sfmlextensions\\floatrectangeextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|solutionrelative:firebird2d.keymapper\\keymapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\interfaces\\ieventbus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\interfaces\\ieventbus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{917F395C-6C2E-4F23-9ED1-B123E5F272E9}|Firebird2D.ModulLoader\\Firebird2D.ModulLoading.csproj|g:\\coding\\firebird2d\\firebird2d.modulloader\\modulloader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{917F395C-6C2E-4F23-9ED1-B123E5F272E9}|Firebird2D.ModulLoader\\Firebird2D.ModulLoading.csproj|solutionrelative:firebird2d.modulloader\\modulloader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\interfaces\\igame.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\interfaces\\igame.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{AF025062-8AED-4E0B-91A4-CD4245F9DB46}|Firebird2D.Requirement\\Firebird2D.Requirement.csproj|g:\\coding\\firebird2d\\firebird2d.requirement\\require.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{AF025062-8AED-4E0B-91A4-CD4245F9DB46}|Firebird2D.Requirement\\Firebird2D.Requirement.csproj|g:\\coding\\firebird2d\\firebird2d.requirement\\require.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{AF025062-8AED-4E0B-91A4-CD4245F9DB46}|Firebird2D.Requirement\\Firebird2D.Requirement.csproj|solutionrelative:firebird2d.requirement\\require.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{AF025062-8AED-4E0B-91A4-CD4245F9DB46}|Firebird2D.Requirement\\Firebird2D.Requirement.csproj|solutionrelative:firebird2d.requirement\\require.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|g:\\coding\\firebird2d\\firebird2d.logger\\ilogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\scenesystem\\scenemanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|solutionrelative:firebird2d.logger\\ilogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\scenesystem\\scenemanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{917F395C-6C2E-4F23-9ED1-B123E5F272E9}|Firebird2D.ModulLoader\\Firebird2D.ModulLoading.csproj|g:\\coding\\firebird2d\\firebird2d.modulloader\\modules\\moduls.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}",
"RelativeMoniker": "D:0:0:{917F395C-6C2E-4F23-9ED1-B123E5F272E9}|Firebird2D.ModulLoader\\Firebird2D.ModulLoading.csproj|solutionrelative:firebird2d.modulloader\\modules\\moduls.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|g:\\coding\\firebird2d\\firebird2d.logger\\gamelogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|g:\\coding\\firebird2d\\firebird2d.logger\\gamelogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|solutionrelative:firebird2d.logger\\gamelogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|solutionrelative:firebird2d.logger\\gamelogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\FireBird2D.Interfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\igame.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\datatypes\\moduletype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\FireBird2D.Interfaces.csproj|solutionrelative:firebird2d.interfaces\\igame.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\datatypes\\moduletype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|g:\\coding\\firebird2d\\firebird2d.keymapper\\firebird2d.keymapping.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", "AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\core\\inputmapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|solutionrelative:firebird2d.keymapper\\firebird2d.keymapping.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" "RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\core\\inputmapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|g:\\coding\\firebird2d\\firebird2d.keymapper\\keymapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\datatypes\\ispatial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|solutionrelative:firebird2d.keymapper\\keymapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\datatypes\\ispatial.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\firebirdevent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|g:\\coding\\firebird2d\\firebird2d.logger\\ilogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\firebirdevent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{106D6D21-E153-476B-AE52-4B2C899F6928}|Firebird2D.Logger\\Firebird2D.Logger.csproj|solutionrelative:firebird2d.logger\\ilogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\i_pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\datatypes\\firebirdevent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\i_pipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\datatypes\\firebirdevent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\eventbus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\interfaces\\ipipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\eventbus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\interfaces\\ipipeline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{567FA588-5EE8-4B36-9C81-47C76C46D782}|Firebird2D.SFMLExtensions\\Firebird2D.SFMLExtensions.csproj|g:\\coding\\firebird2d\\firebird2d.sfmlextensions\\floatrectangeextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{567FA588-5EE8-4B36-9C81-47C76C46D782}|Firebird2D.SFMLExtensions\\Firebird2D.SFMLExtensions.csproj|solutionrelative:firebird2d.sfmlextensions\\floatrectangeextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|g:\\coding\\firebird2d\\firebird2d.keymapper\\firebird2d.keymapping.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|solutionrelative:firebird2d.keymapper\\firebird2d.keymapping.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\eventarguments\\firebirdjoystickbuttoneventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|g:\\coding\\firebird2d\\firebird2d.eventpipelines\\eventarguments\\firebirdjoystickbuttoneventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -70,10 +94,6 @@
"AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\game.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\game.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\game.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\game.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{
"AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\core\\inputmapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\core\\inputmapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{ {
"AbsoluteMoniker": "D:0:0:{8B04689D-A8E2-494B-922E-06F5EF313297}|Documentation{8B04689D-A8E2-494B-922E-06F5EF313297}|G:\\Coding\\Firebird2D\\ClassDiagram.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}", "AbsoluteMoniker": "D:0:0:{8B04689D-A8E2-494B-922E-06F5EF313297}|Documentation{8B04689D-A8E2-494B-922E-06F5EF313297}|G:\\Coding\\Firebird2D\\ClassDiagram.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}",
"RelativeMoniker": "D:0:0:{8B04689D-A8E2-494B-922E-06F5EF313297}|Documentation{8B04689D-A8E2-494B-922E-06F5EF313297}|solutionrelative:ClassDiagram.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}" "RelativeMoniker": "D:0:0:{8B04689D-A8E2-494B-922E-06F5EF313297}|Documentation{8B04689D-A8E2-494B-922E-06F5EF313297}|solutionrelative:ClassDiagram.md||{EFC0BB08-EA7D-40C6-A696-C870411A895B}"
@@ -86,37 +106,115 @@
"DocumentGroups": [ "DocumentGroups": [
{ {
"DockedWidth": 200, "DockedWidth": 200,
"SelectedChildIndex": 0, "SelectedChildIndex": 13,
"Children": [ "Children": [
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 0, "DocumentIndex": 8,
"Title": "ModuleType.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Datatypes\\ModuleType.cs",
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Datatypes\\ModuleType.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Datatypes\\ModuleType.cs",
"RelativeToolTip": "FireBird2D.Interfaces\\Datatypes\\ModuleType.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAVAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:50:37.241Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "Moduls.xml",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\Modules\\Moduls.xml",
"RelativeDocumentMoniker": "Firebird2D.ModulLoader\\Modules\\Moduls.xml",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\Modules\\Moduls.xml",
"RelativeToolTip": "Firebird2D.ModulLoader\\Modules\\Moduls.xml",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003576|",
"WhenOpened": "2025-04-22T16:46:40.211Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "ModulLoader.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\ModulLoader.cs",
"RelativeDocumentMoniker": "Firebird2D.ModulLoader\\ModulLoader.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\ModulLoader.cs",
"RelativeToolTip": "Firebird2D.ModulLoader\\ModulLoader.cs",
"ViewState": "AQIAABsAAAAAAAAAAAAowEMAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:25:54.624Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "ISpatial.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Datatypes\\ISpatial.cs",
"RelativeDocumentMoniker": "Firebird2D\\Datatypes\\ISpatial.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D\\Datatypes\\ISpatial.cs",
"RelativeToolTip": "Firebird2D\\Datatypes\\ISpatial.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:22:51.196Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "FirebirdEvent.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
"RelativeToolTip": "FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAAbAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:17:30.533Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "IEventBus.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IEventBus.cs",
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IEventBus.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IEventBus.cs",
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IEventBus.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAABHAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:13:30.421Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "IPipeline.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IPipeline.cs",
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IPipeline.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IPipeline.cs",
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IPipeline.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAzAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:09:44.914Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "FloatRectangeExtension.cs", "Title": "FloatRectangeExtension.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
"RelativeDocumentMoniker": "Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs", "RelativeDocumentMoniker": "Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs", "ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
"RelativeToolTip": "Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs", "RelativeToolTip": "Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABYAAAAAAAAA", "ViewState": "AQIAAAAAAAAAAAAAAAAAABUAAAABAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-21T17:17:44.48Z", "WhenOpened": "2025-04-21T17:17:44.48Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 5, "DocumentIndex": 11,
"Title": "Firebird2D.KeyMapping",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"RelativeToolTip": "Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2025-04-21T17:12:47.964Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "ILogger.cs", "Title": "ILogger.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs",
"RelativeDocumentMoniker": "Firebird2D.Logger\\ILogger.cs", "RelativeDocumentMoniker": "Firebird2D.Logger\\ILogger.cs",
@@ -129,33 +227,33 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 4, "DocumentIndex": 3,
"Title": "IGame.cs", "Title": "IGame.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\IGame.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\IGame.cs", "RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\IGame.cs", "ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
"RelativeToolTip": "FireBird2D.Interfaces\\IGame.cs", "RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAAFAAAA", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAtAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-21T16:58:17.745Z", "WhenOpened": "2025-04-21T16:58:17.745Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 17, "DocumentIndex": 9,
"Title": "InputMapper.cs", "Title": "InputMapper.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\InputMapper.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\InputMapper.cs",
"RelativeDocumentMoniker": "Firebird2D\\Core\\InputMapper.cs", "RelativeDocumentMoniker": "Firebird2D\\Core\\InputMapper.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\InputMapper.cs", "ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\InputMapper.cs",
"RelativeToolTip": "Firebird2D\\Core\\InputMapper.cs", "RelativeToolTip": "Firebird2D\\Core\\InputMapper.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAuwAsAAAAUAAAA", "ViewState": "AQIAAE0AAAAAAAAAAAAtwG0AAAAnAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-18T07:43:42.972Z", "WhenOpened": "2025-04-18T07:43:42.972Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 14, "DocumentIndex": 20,
"Title": "MainWindow.cs", "Title": "MainWindow.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\MainWindow.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\MainWindow.cs",
"RelativeDocumentMoniker": "Firebird2D\\Core\\MainWindow.cs", "RelativeDocumentMoniker": "Firebird2D\\Core\\MainWindow.cs",
@@ -168,72 +266,72 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 6, "DocumentIndex": 0,
"Title": "KeyMapper.cs", "Title": "KeyMapper.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\KeyMapper.cs", "RelativeDocumentMoniker": "Firebird2D.KeyMapper\\KeyMapper.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs", "ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
"RelativeToolTip": "Firebird2D.KeyMapper\\KeyMapper.cs", "RelativeToolTip": "Firebird2D.KeyMapper\\KeyMapper.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAA+AAAA", "ViewState": "AQIAAAMAAAAAAAAAAAAAAB4AAAAJAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-18T07:43:14.35Z", "WhenOpened": "2025-04-18T07:43:14.35Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 9, "DocumentIndex": 7,
"Title": "I_Pipeline.cs", "Title": "GameLogger.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\I_Pipeline.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\GameLogger.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\I_Pipeline.cs", "RelativeDocumentMoniker": "Firebird2D.Logger\\GameLogger.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\I_Pipeline.cs", "ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\GameLogger.cs",
"RelativeToolTip": "Firebird2D.EventPipelines\\I_Pipeline.cs", "RelativeToolTip": "Firebird2D.Logger\\GameLogger.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAB4AAABbAAAA", "ViewState": "AQIAABgAAAAAAAAAAAA1wEUAAAAJAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T20:10:17.86Z", "WhenOpened": "2025-04-17T17:56:23.324Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 8, "DocumentIndex": 4,
"Title": "Require.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Require.cs",
"RelativeDocumentMoniker": "Firebird2D.Requirement\\Require.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Require.cs",
"RelativeToolTip": "Firebird2D.Requirement\\Require.cs",
"ViewState": "AQIAABAAAAAAAAAAAAAQwAsAAAA0AAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T17:56:35.49Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Firebird2D.KeyMapping.csproj",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"RelativeToolTip": "Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2025-04-21T17:12:47.964Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "Pipeline.cs", "Title": "Pipeline.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\Pipeline.cs", "RelativeDocumentMoniker": "Firebird2D.EventPipelines\\Pipeline.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs", "ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
"RelativeToolTip": "Firebird2D.EventPipelines\\Pipeline.cs", "RelativeToolTip": "Firebird2D.EventPipelines\\Pipeline.cs",
"ViewState": "AQIAABYAAAAAAAAAAAAQwEsAAAAAAAAA", "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAVAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T19:45:23.048Z", "WhenOpened": "2025-04-17T19:45:23.048Z",
"EditorCaption": "" "EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 7, "DocumentIndex": 22,
"Title": "FirebirdEvent.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\FirebirdEvent.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\FirebirdEvent.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\FirebirdEvent.cs",
"RelativeToolTip": "Firebird2D.EventPipelines\\FirebirdEvent.cs",
"ViewState": "AQIAAE8BAAAAAAAAAAAAwK4BAAAVAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T19:42:10.988Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "EventBus.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventBus.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventBus.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventBus.cs",
"RelativeToolTip": "Firebird2D.EventPipelines\\EventBus.cs",
"ViewState": "AQIAACIAAAAAAAAAAAAQwCMAAAANAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T19:40:01.999Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Game.cs", "Title": "Game.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Game.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Game.cs",
"RelativeDocumentMoniker": "Firebird2D\\Game.cs", "RelativeDocumentMoniker": "Firebird2D\\Game.cs",
@@ -246,33 +344,7 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 3, "DocumentIndex": 18,
"Title": "GameLogger.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\GameLogger.cs",
"RelativeDocumentMoniker": "Firebird2D.Logger\\GameLogger.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\GameLogger.cs",
"RelativeToolTip": "Firebird2D.Logger\\GameLogger.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAABUAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T17:56:23.324Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Require.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Require.cs",
"RelativeDocumentMoniker": "Firebird2D.Requirement\\Require.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Require.cs",
"RelativeToolTip": "Firebird2D.Requirement\\Require.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAFAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-17T17:56:35.49Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "FirebirdKeyEventArgs.cs", "Title": "FirebirdKeyEventArgs.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs", "RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
@@ -285,7 +357,7 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 15, "DocumentIndex": 21,
"Title": "InputEventType.cs", "Title": "InputEventType.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs", "RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
@@ -298,7 +370,7 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 13, "DocumentIndex": 19,
"Title": "FirebirdMouseButtonEventArgs.cs", "Title": "FirebirdMouseButtonEventArgs.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs", "RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
@@ -311,7 +383,7 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 11, "DocumentIndex": 17,
"Title": "FirebirdJoystickButtonEventArgs.cs", "Title": "FirebirdJoystickButtonEventArgs.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs", "DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs", "RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
@@ -324,7 +396,7 @@
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 18, "DocumentIndex": 23,
"Title": "ClassDiagram.md", "Title": "ClassDiagram.md",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\ClassDiagram.md", "DocumentMoniker": "G:\\Coding\\Firebird2D\\ClassDiagram.md",
"RelativeDocumentMoniker": "ClassDiagram.md", "RelativeDocumentMoniker": "ClassDiagram.md",
@@ -338,6 +410,40 @@
] ]
} }
] ]
},
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"FloatingWindowState": {
"Id": "b14934ab-f70e-4c3b-af63-28d3e15ed402",
"Display": 0,
"X": 941,
"Y": 162,
"Width": 1981,
"Height": 1231,
"WindowState": 0
},
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 0,
"Children": [
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "SceneManager.cs",
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\SceneSystem\\SceneManager.cs",
"RelativeDocumentMoniker": "Firebird2D\\SceneSystem\\SceneManager.cs",
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D\\SceneSystem\\SceneManager.cs",
"RelativeToolTip": "Firebird2D\\SceneSystem\\SceneManager.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-04-22T16:40:39.645Z",
"EditorCaption": ""
}
]
}
]
} }
] ]
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,7 +4,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Firebird2D.EventPipelines namespace Firebird2D.Datatypes
{ {
public enum FirebirdEvent public enum FirebirdEvent
{ {
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Firebird2D.Datatypes
{
public enum ModuleType
{
Extension = 0,
EventSystem = 1,
KeyMapper = 2
}
}
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Firebird2D.Datatypes;
using Firebird2D.Interfaces;
namespace Firebird2D.Interfaces
{
public interface IEventBus
{
public void OnPipelineIsBuild(Action<IPipeline> callback, FirebirdEvent firebirdEvent);
public IPipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master);
public IPipeline? GetPipeline(FirebirdEvent type, Type argsType);
public void DestroyPipeline(FirebirdEvent type, object master);
}
}
@@ -9,5 +9,6 @@ namespace Firebird2D.Interfaces
{ {
public interface IGame public interface IGame
{ {
public IEventBus EventBus { get; set; }
} }
} }
@@ -4,12 +4,12 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Firebird2D.EventPipelines namespace Firebird2D.Interfaces
{ {
/// <summary> /// <summary>
/// Interface for the Firebird event Pipeline /// Interface for the Firebird event Pipeline
/// </summary> /// </summary>
public interface I_Pipeline public interface IPipeline
{ {
/// <summary> /// <summary>
/// Class witch owns the Pipeline and has the right to send events or delete the pipeline /// Class witch owns the Pipeline and has the right to send events or delete the pipeline
+10 -8
View File
@@ -1,4 +1,6 @@
using System; using Firebird2D.Datatypes;
using Firebird2D.Interfaces;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -9,15 +11,15 @@ namespace Firebird2D.EventPipelines
/// <summary> /// <summary>
/// EventBus manages event pipelines and allows registering callbacks (hooks) if a pipeline is not Build Yet, as well as creating, retrieving, and destroying pipelines. /// EventBus manages event pipelines and allows registering callbacks (hooks) if a pipeline is not Build Yet, as well as creating, retrieving, and destroying pipelines.
/// </summary> /// </summary>
public class EventBus public class EventBus : IEventBus
{ {
// Dictionary that stores various pipelines for specific FirebirdEvents. // Dictionary that stores various pipelines for specific FirebirdEvents.
// The key is the event, and the value is the corresponding pipeline. // The key is the event, and the value is the corresponding pipeline.
private Dictionary<FirebirdEvent, I_Pipeline> pipelines = new(); private Dictionary<FirebirdEvent, IPipeline> pipelines = new();
// Dictionary that stores a list of callbacks for each FirebirdEvent. // Dictionary that stores a list of callbacks for each FirebirdEvent.
// These callbacks will be invoked when the event's pipeline is build. // These callbacks will be invoked when the event's pipeline is build.
private Dictionary<FirebirdEvent, List<Action<I_Pipeline>>> pendingHooks = new(); private Dictionary<FirebirdEvent, List<Action<IPipeline>>> pendingHooks = new();
/// <summary> /// <summary>
/// Registers a callback (hook) for a specific event. The callback will be invoked when the pipeline for this event is built. /// Registers a callback (hook) for a specific event. The callback will be invoked when the pipeline for this event is built.
@@ -25,7 +27,7 @@ namespace Firebird2D.EventPipelines
/// <param name="callback">The function to be called when the pipeline for the event is built.</param> /// <param name="callback">The function to be called when the pipeline for the event is built.</param>
/// <param name="type">The event for which the callback should be registered.</param> /// <param name="type">The event for which the callback should be registered.</param>
/// <exception cref="ArgumentNullException">Thrown when the callback is null.</exception> /// <exception cref="ArgumentNullException">Thrown when the callback is null.</exception>
public void OnPipelineIsBuild(Action<I_Pipeline> callback, FirebirdEvent type) public void OnPipelineIsBuild(Action<IPipeline> callback, FirebirdEvent type)
{ {
if (callback == null) throw new ArgumentNullException(nameof(callback)); if (callback == null) throw new ArgumentNullException(nameof(callback));
@@ -47,12 +49,12 @@ namespace Firebird2D.EventPipelines
/// <param name="argsType">The type of the arguments to be passed to the pipeline.</param> /// <param name="argsType">The type of the arguments to be passed to the pipeline.</param>
/// <param name="master">The master object used when creating the pipeline.</param> /// <param name="master">The master object used when creating the pipeline.</param>
/// <returns>The pipeline for the given event.</returns> /// <returns>The pipeline for the given event.</returns>
public I_Pipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master) public IPipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master)
{ {
if (pipelines.TryGetValue(type, out var pipeline)) return pipeline; if (pipelines.TryGetValue(type, out var pipeline)) return pipeline;
var genericPipelineType = typeof(Pipeline<>).MakeGenericType(argsType); var genericPipelineType = typeof(Pipeline<>).MakeGenericType(argsType);
var pipelineInstance = (I_Pipeline)Activator.CreateInstance(genericPipelineType, master)!; var pipelineInstance = (IPipeline)Activator.CreateInstance(genericPipelineType, master)!;
pipelines[type] = pipelineInstance; pipelines[type] = pipelineInstance;
return pipelineInstance; return pipelineInstance;
} }
@@ -63,7 +65,7 @@ namespace Firebird2D.EventPipelines
/// <param name="type">The event for which the pipeline should be retrieved.</param> /// <param name="type">The event for which the pipeline should be retrieved.</param>
/// <param name="argsType">The type of the arguments for the pipeline.</param> /// <param name="argsType">The type of the arguments for the pipeline.</param>
/// <returns>The pipeline for the event, or null if it does not exist.</returns> /// <returns>The pipeline for the event, or null if it does not exist.</returns>
public I_Pipeline? GetPipeline(FirebirdEvent type, Type argsType) public IPipeline? GetPipeline(FirebirdEvent type, Type argsType)
{ {
if (!pipelines.TryGetValue(type, out var pipeline)) return null; if (!pipelines.TryGetValue(type, out var pipeline)) return null;
return pipeline; return pipeline;
@@ -10,4 +10,8 @@
<PackageReference Include="SFML.Net" Version="2.6.1" /> <PackageReference Include="SFML.Net" Version="2.6.1" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FireBird2D.Interfaces\Firebird2D.DataypesAndInterfaces.csproj" />
</ItemGroup>
</Project> </Project>
+2 -1
View File
@@ -1,4 +1,5 @@
using Firebird2D.Interfaces;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -12,7 +13,7 @@ namespace Firebird2D.EventPipelines
/// Eventpypeline which transports an event to every Subscyber /// Eventpypeline which transports an event to every Subscyber
/// </summary> /// </summary>
/// <typeparam name="T">Event Arguments for the Pipeline event</typeparam> /// <typeparam name="T">Event Arguments for the Pipeline event</typeparam>
public class Pipeline <T> : I_Pipeline where T : EventArgs public class Pipeline <T> : IPipeline where T : EventArgs
{ {
/// <summary> /// <summary>
/// Class witch owns the Pipeline and has the right to send events or delete the pipeline /// Class witch owns the Pipeline and has the right to send events or delete the pipeline
+7 -5
View File
@@ -3,6 +3,8 @@ using Firebird2D.EventPipelines;
using SFML.Window; using SFML.Window;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text.Json; using System.Text.Json;
using Firebird2D.Interfaces;
using Firebird2D.Datatypes;
namespace Firebird2D.KeyMapping namespace Firebird2D.KeyMapping
{ {
@@ -11,7 +13,7 @@ namespace Firebird2D.KeyMapping
/// </summary> /// </summary>
public class KeyMapper public class KeyMapper
{ {
private EventBus eventBus; private readonly IEventBus eventBus;
// Stores registered input events by name. // Stores registered input events by name.
private Dictionary<string, Delegate> inputEvents = []; private Dictionary<string, Delegate> inputEvents = [];
@@ -23,9 +25,9 @@ namespace Firebird2D.KeyMapping
private Dictionary<string, FirebirdEvent> inputMapping = []; private Dictionary<string, FirebirdEvent> inputMapping = [];
// Caches active pipelines for performance. // Caches active pipelines for performance.
private Dictionary<FirebirdEvent, I_Pipeline> cachedPipelines = []; private Dictionary<FirebirdEvent, IPipeline> cachedPipelines = [];
public KeyMapper(EventBus eventBus) public KeyMapper(IEventBus eventBus)
{ {
if (eventBus == null) throw new NullReferenceException(nameof(eventBus)); if (eventBus == null) throw new NullReferenceException(nameof(eventBus));
this.eventBus = eventBus; this.eventBus = eventBus;
@@ -70,7 +72,7 @@ namespace Firebird2D.KeyMapping
if (!inputMapping.TryGetValue(EventName, out var firebirdEvent)) return; if (!inputMapping.TryGetValue(EventName, out var firebirdEvent)) return;
if (!eventTypes.TryGetValue(EventName, out var type)) return; if (!eventTypes.TryGetValue(EventName, out var type)) return;
I_Pipeline? pipeline = eventBus.GetPipeline(firebirdEvent, type); IPipeline? pipeline = eventBus.GetPipeline(firebirdEvent, type);
if (pipeline != null) if (pipeline != null)
{ {
@@ -92,7 +94,7 @@ namespace Firebird2D.KeyMapping
{ {
if (!eventTypes.TryGetValue(EventName, out var type)) return; if (!eventTypes.TryGetValue(EventName, out var type)) return;
I_Pipeline pipeline = eventBus.GetOrBuildPipeline(eventNumber, type, this); IPipeline pipeline = eventBus.GetOrBuildPipeline(eventNumber, type, this);
pipeline.Subscribe(inputEvents[EventName]); pipeline.Subscribe(inputEvents[EventName]);
} }
@@ -6,8 +6,4 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FireBird2D.Interfaces\Firebird2D.Interfaces.csproj" />
</ItemGroup>
</Project> </Project>
+1 -1
View File
@@ -1,4 +1,4 @@
using Firebird2D.Interfaces;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Logger")] [assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Logger")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+51493135dfc8aa77e4285d80e32310c1f02be5b0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Logger")] [assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Logger")]
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Logger")] [assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Logger")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
112eff4245416fbc9f49d96f1eeefaf18aad8e2f51adfc91c39b7f223783ed14 efa2647d90b080a7b266fbfa5ece1bdf184aafb101e1daf94499748c54e5b462
@@ -4,14 +4,14 @@
"G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": {} "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": {}
}, },
"projects": { "projects": {
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": { "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj", "projectUniqueName": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj",
"projectName": "Firebird2D.Interfaces", "projectName": "Firebird2D.Logger",
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj", "projectPath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj",
"packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\", "packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\",
"outputPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\obj\\", "outputPath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"fallbackFolders": [ "fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
@@ -70,77 +70,6 @@
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"
} }
} }
},
"G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj",
"projectName": "Firebird2D.Logger",
"projectPath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj",
"packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\",
"outputPath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\wayan\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"C:\\TwinCAT\\Functions\\TE2000-HMI-Engineering\\Infrastructure\\Packages": {},
"C:\\TwinCAT\\Functions\\TE2000-HMI-Engineering\\References": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": {
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"
}
}
} }
} }
} }
+4 -27
View File
@@ -1,30 +1,11 @@
{ {
"version": 3, "version": 3,
"targets": { "targets": {
"net8.0": { "net8.0": {}
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
},
"runtime": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
}
}
}
},
"libraries": {
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"path": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj",
"msbuildProject": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj"
}
}, },
"libraries": {},
"projectFileDependencyGroups": { "projectFileDependencyGroups": {
"net8.0": [ "net8.0": []
"Firebird2D.Interfaces >= 1.0.0"
]
}, },
"packageFolders": { "packageFolders": {
"C:\\Users\\wayan\\.nuget\\packages\\": {}, "C:\\Users\\wayan\\.nuget\\packages\\": {},
@@ -60,11 +41,7 @@
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"projectReferences": { "projectReferences": {}
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": {
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj"
}
}
} }
}, },
"warningProperties": { "warningProperties": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "DP1d2KMGQuQ=", "dgSpecHash": "tcqAw3429hg=",
"success": true, "success": true,
"projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj", "projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj",
"expectedPackageFiles": [], "expectedPackageFiles": [],
@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FireBird2D.Interfaces\Firebird2D.DataypesAndInterfaces.csproj" />
<ProjectReference Include="..\Firebird2D.Logger\Firebird2D.Logger.csproj" />
<ProjectReference Include="..\Firebird2D.Requirement\Firebird2D.Requirement.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="Modules\Moduls.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
+99
View File
@@ -0,0 +1,99 @@
using Firebird2D.Datatypes;
using Firebird2D.Interfaces;
using Firebird2D.Logger;
using Firebird2D.Requirement;
using System.ComponentModel.DataAnnotations;
using System.Reflection;
using System.Xml.Serialization;
namespace Firebird2D.ModulLoading
{
public struct Modul
{
public ModuleType ModuleType { get; set; }
public string Name { get; set; }
public string RelativePath { get; set; }
}
[XmlRoot("Moduls")]
public class ModulList
{
[XmlArrayItem("Modul")]
public List<Modul> mods = [];
}
public class ModulLoader
{
private readonly IGame gameInstance;
private ModulList? modulList = null;
public ModulLoader(IGame gameInstance)
{
this.gameInstance = gameInstance;
}
public void LoadModules()
{
DeserialiseModulList();
if (modulList == null) return;
List<Modul> eventModul = modulList.mods.Where(m => m.ModuleType == ModuleType.EventSystem).ToList();
if (eventModul.Count > 1) GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"More then one EventModul defined first modul ist loaded");
if (eventModul.Count != 0)
{
try
{
Assembly eventAssembly = Assembly.Load(eventModul[0].RelativePath);
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Info, $"F{eventModul[0].Name} loaded.");
LinkEventAssembly(eventAssembly);
}
catch(Exception ex)
{
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"Failed to load {eventModul[0].Name}, with exception {ex.Message}");
}
}
else
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"More then one EventModul defined first modul ist loaded");
if (modulList.mods.Count == 0) return;
}
private void LinkEventAssembly(Assembly assembly)
{
Type? type = assembly.GetTypes().FirstOrDefault(t => typeof(IEventBus).IsAssignableFrom(t) && !t.IsInterface);
Require.NotNull(type,"type",0);
IEventBus? eventBus = Activator.CreateInstance(type) as IEventBus;
Require.NotNull(eventBus,"eventBus",0);
gameInstance.EventBus = eventBus;
}
private void DeserialiseModulList()
{
try
{
using (FileStream file = new FileStream("Modules/Moduls.xml", FileMode.Open))
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(ModulList));
modulList = (ModulList?)xmlSerializer.Deserialize(file);
}
}
catch(Exception ex) {
modulList = null;
GameLogger.GetInstance(0).Log("ModulLoader",LogType.Warning, $"Modul file not existing or invalid: {ex.Message}");
}
}
}
}
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<Moduls>
<!--
<Modul>
<ModuleType>Plugin</ModuleType>
<Name>Logger</Name>
<RelativePath>Modules/Logger</RelativePath>
</Modul>
-->
</Moduls>
+1 -1
View File
@@ -6,7 +6,7 @@ namespace Firebird2D.Requirement
{ {
public class Require public class Require
{ {
public static void NotNull(object input, string name, int loggerInstanceNumber, public static void NotNull(object? input, string name, int loggerInstanceNumber,
[CallerMemberName] string callerName = "", [CallerMemberName] string callerName = "",
[CallerFilePath] string callerPath = "", [CallerFilePath] string callerPath = "",
[CallerLineNumber] int callerLineNumber = 0) [CallerLineNumber] int callerLineNumber = 0)
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Requirement")] [assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Requirement")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+51493135dfc8aa77e4285d80e32310c1f02be5b0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Requirement")] [assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Requirement")]
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Requirement")] [assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Requirement")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
40d7aae7c923ca3d4454d246c52e8a64820bf9653fadbe515530b8637584741e d930c16e48000b60c3592ab43be941a4270796fd5c53910ce4333c8a429ab31e
@@ -4,73 +4,6 @@
"G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj": {} "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj": {}
}, },
"projects": { "projects": {
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj",
"projectName": "Firebird2D.Interfaces",
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj",
"packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\",
"outputPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\wayan\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"C:\\TwinCAT\\Functions\\TE2000-HMI-Engineering\\Infrastructure\\Packages": {},
"C:\\TwinCAT\\Functions\\TE2000-HMI-Engineering\\References": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"
}
}
},
"G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": { "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\Firebird2D.Logger.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
@@ -101,11 +34,7 @@
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"projectReferences": { "projectReferences": {}
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": {
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj"
}
}
} }
}, },
"warningProperties": { "warningProperties": {
@@ -2,22 +2,9 @@
"version": 3, "version": 3,
"targets": { "targets": {
"net8.0": { "net8.0": {
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
},
"runtime": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
}
},
"Firebird2D.Logger/1.0.0": { "Firebird2D.Logger/1.0.0": {
"type": "project", "type": "project",
"framework": ".NETCoreApp,Version=v8.0", "framework": ".NETCoreApp,Version=v8.0",
"dependencies": {
"Firebird2D.Interfaces": "1.0.0"
},
"compile": { "compile": {
"bin/placeholder/Firebird2D.Logger.dll": {} "bin/placeholder/Firebird2D.Logger.dll": {}
}, },
@@ -28,11 +15,6 @@
} }
}, },
"libraries": { "libraries": {
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"path": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj",
"msbuildProject": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj"
},
"Firebird2D.Logger/1.0.0": { "Firebird2D.Logger/1.0.0": {
"type": "project", "type": "project",
"path": "../Firebird2D.Logger/Firebird2D.Logger.csproj", "path": "../Firebird2D.Logger/Firebird2D.Logger.csproj",
@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "UvsIOKD4Be8=", "dgSpecHash": "Cnwm1cp4iIM=",
"success": true, "success": true,
"projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj", "projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj",
"expectedPackageFiles": [], "expectedPackageFiles": [],
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.SFMLExtensions")] [assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.SFMLExtensions")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+51493135dfc8aa77e4285d80e32310c1f02be5b0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.SFMLExtensions")] [assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.SFMLExtensions")]
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.SFMLExtensions")] [assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.SFMLExtensions")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
fa9b95393a1d4670d93070836ffe1fceddd4879784341915bf008e4e9f86cbb7 f626d59756ad26a054c1d1f23d861aa33ef4951843a64a2988b4cd5ed949a8c9
+7 -1
View File
@@ -20,7 +20,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.EventPipelines",
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.KeyMapping", "Firebird2D.KeyMapper\Firebird2D.KeyMapping.csproj", "{38CCA723-C113-4E44-B074-F9B709B0EEB4}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.KeyMapping", "Firebird2D.KeyMapper\Firebird2D.KeyMapping.csproj", "{38CCA723-C113-4E44-B074-F9B709B0EEB4}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebird2D.Interfaces", "FireBird2D.Interfaces\Firebird2D.Interfaces.csproj", "{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.DataypesAndInterfaces", "FireBird2D.Interfaces\Firebird2D.DataypesAndInterfaces.csproj", "{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebird2D.ModulLoading", "Firebird2D.ModulLoader\Firebird2D.ModulLoading.csproj", "{917F395C-6C2E-4F23-9ED1-B123E5F272E9}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -56,6 +58,10 @@ Global
{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Debug|Any CPU.Build.0 = Debug|Any CPU {7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Release|Any CPU.ActiveCfg = Release|Any CPU {7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Release|Any CPU.Build.0 = Release|Any CPU {7F6F9690-3BD3-4D44-BE62-3A7282DA671D}.Release|Any CPU.Build.0 = Release|Any CPU
{917F395C-6C2E-4F23-9ED1-B123E5F272E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{917F395C-6C2E-4F23-9ED1-B123E5F272E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{917F395C-6C2E-4F23-9ED1-B123E5F272E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{917F395C-6C2E-4F23-9ED1-B123E5F272E9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D")] [assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+51493135dfc8aa77e4285d80e32310c1f02be5b0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D")] [assembly: System.Reflection.AssemblyProductAttribute("Firebird2D")]
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D")] [assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
9d9bedf3152c73b5d358c9740a2af87d4522a5c313195cccdcb155cc37e3b9c4 b58b950687c3bc10dc33b3f06fb727341820dba7c020e683d062fa25981537d0
Binary file not shown.
@@ -34,7 +34,11 @@
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"projectReferences": {} "projectReferences": {
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj": {
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj"
}
}
} }
}, },
"warningProperties": { "warningProperties": {
@@ -77,12 +81,12 @@
} }
} }
}, },
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": { "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj", "projectUniqueName": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
"projectName": "Firebird2D.Interfaces", "projectName": "Firebird2D.DataypesAndInterfaces",
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj", "projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
"packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\", "packagesPath": "C:\\Users\\wayan\\.nuget\\packages\\",
"outputPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\obj\\", "outputPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
@@ -245,11 +249,7 @@
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
"targetAlias": "net8.0", "targetAlias": "net8.0",
"projectReferences": { "projectReferences": {}
"G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj": {
"projectPath": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.Interfaces.csproj"
}
}
} }
}, },
"warningProperties": { "warningProperties": {
+16 -18
View File
@@ -1043,10 +1043,21 @@
"buildTransitive/net8.0/System.Text.Json.targets": {} "buildTransitive/net8.0/System.Text.Json.targets": {}
} }
}, },
"Firebird2D.DataypesAndInterfaces/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/Firebird2D.DataypesAndInterfaces.dll": {}
},
"runtime": {
"bin/placeholder/Firebird2D.DataypesAndInterfaces.dll": {}
}
},
"Firebird2D.EventPipelines/1.0.0": { "Firebird2D.EventPipelines/1.0.0": {
"type": "project", "type": "project",
"framework": ".NETCoreApp,Version=v8.0", "framework": ".NETCoreApp,Version=v8.0",
"dependencies": { "dependencies": {
"Firebird2D.DataypesAndInterfaces": "1.0.0",
"SFML.Net": "2.6.1" "SFML.Net": "2.6.1"
}, },
"compile": { "compile": {
@@ -1056,16 +1067,6 @@
"bin/placeholder/Firebird2D.EventPipelines.dll": {} "bin/placeholder/Firebird2D.EventPipelines.dll": {}
} }
}, },
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v8.0",
"compile": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
},
"runtime": {
"bin/placeholder/Firebird2D.Interfaces.dll": {}
}
},
"Firebird2D.KeyMapping/1.0.0": { "Firebird2D.KeyMapping/1.0.0": {
"type": "project", "type": "project",
"framework": ".NETCoreApp,Version=v8.0", "framework": ".NETCoreApp,Version=v8.0",
@@ -1082,9 +1083,6 @@
"Firebird2D.Logger/1.0.0": { "Firebird2D.Logger/1.0.0": {
"type": "project", "type": "project",
"framework": ".NETCoreApp,Version=v8.0", "framework": ".NETCoreApp,Version=v8.0",
"dependencies": {
"Firebird2D.Interfaces": "1.0.0"
},
"compile": { "compile": {
"bin/placeholder/Firebird2D.Logger.dll": {} "bin/placeholder/Firebird2D.Logger.dll": {}
}, },
@@ -1798,16 +1796,16 @@
"useSharedDesignerContext.txt" "useSharedDesignerContext.txt"
] ]
}, },
"Firebird2D.DataypesAndInterfaces/1.0.0": {
"type": "project",
"path": "../FireBird2D.Interfaces/Firebird2D.DataypesAndInterfaces.csproj",
"msbuildProject": "../FireBird2D.Interfaces/Firebird2D.DataypesAndInterfaces.csproj"
},
"Firebird2D.EventPipelines/1.0.0": { "Firebird2D.EventPipelines/1.0.0": {
"type": "project", "type": "project",
"path": "../Firebird2D.EventPipelines/Firebird2D.EventPipelines.csproj", "path": "../Firebird2D.EventPipelines/Firebird2D.EventPipelines.csproj",
"msbuildProject": "../Firebird2D.EventPipelines/Firebird2D.EventPipelines.csproj" "msbuildProject": "../Firebird2D.EventPipelines/Firebird2D.EventPipelines.csproj"
}, },
"Firebird2D.Interfaces/1.0.0": {
"type": "project",
"path": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj",
"msbuildProject": "../FireBird2D.Interfaces/Firebird2D.Interfaces.csproj"
},
"Firebird2D.KeyMapping/1.0.0": { "Firebird2D.KeyMapping/1.0.0": {
"type": "project", "type": "project",
"path": "../Firebird2D.KeyMapper/Firebird2D.KeyMapping.csproj", "path": "../Firebird2D.KeyMapper/Firebird2D.KeyMapping.csproj",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "62iPCpiCzS8=", "dgSpecHash": "reTuevwexX0=",
"success": true, "success": true,
"projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D\\Firebird2D.csproj", "projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D\\Firebird2D.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [