Updated KD and ModulLoader
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,14 +2,6 @@
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "G:\\Coding\\Firebird2D\\",
|
||||
"Documents": [
|
||||
{
|
||||
"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:{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}"
|
||||
@@ -19,24 +11,60 @@
|
||||
"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}",
|
||||
"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:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\interfaces\\iextensionbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\interfaces\\iextensionbase.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:{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\\moduletype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{917F395C-6C2E-4F23-9ED1-B123E5F272E9}|Firebird2D.ModulLoader\\Firebird2D.ModulLoading.csproj|solutionrelative:firebird2d.modulloader\\moduletype.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:{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:{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}"
|
||||
},
|
||||
{
|
||||
"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.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\datatypes\\moduletype.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:{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:{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:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\interfaces\\ikeymapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\interfaces\\ikeymapper.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:{38CCA723-C113-4E44-B074-F9B709B0EEB4}|Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj|solutionrelative:firebird2d.keymapper\\keymapper.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}",
|
||||
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative: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:{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:{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:{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}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|g:\\coding\\firebird2d\\firebird2d.interfaces\\firebird2d.dataypesandinterfaces.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
|
||||
"RelativeMoniker": "D:0:0:{7F6F9690-3BD3-4D44-BE62-3A7282DA671D}|FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj|solutionrelative:firebird2d.interfaces\\firebird2d.dataypesandinterfaces.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
|
||||
},
|
||||
{
|
||||
"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}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\core\\inputmapper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
@@ -50,46 +78,14 @@
|
||||
"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:{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}",
|
||||
"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:{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:{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:{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:{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}",
|
||||
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative: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\\firebirdkeyeventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\eventarguments\\firebirdkeyeventargs.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\\firebirdmousebuttoneventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\eventarguments\\firebirdmousebuttoneventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|g:\\coding\\firebird2d\\firebird2d\\core\\mainwindow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{487A2EF7-6F5F-4F03-B355-82EF8BA45530}|Firebird2D\\Firebird2D.csproj|solutionrelative:firebird2d\\core\\mainwindow.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\\inputeventtype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{FB2B6835-02BF-4AE7-B85F-290472787ED3}|Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj|solutionrelative:firebird2d.eventpipelines\\eventarguments\\inputeventtype.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}"
|
||||
@@ -106,63 +102,63 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 13,
|
||||
"SelectedChildIndex": 14,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"DocumentIndex": 3,
|
||||
"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",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\ModuleType.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.ModulLoader\\ModuleType.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.ModulLoader\\ModuleType.cs",
|
||||
"RelativeToolTip": "Firebird2D.ModulLoader\\ModuleType.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACQAAABAAAAA",
|
||||
"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",
|
||||
"WhenOpened": "2025-05-18T14:23:50.586Z",
|
||||
"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",
|
||||
"Title": "IExtensionBase.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IExtensionBase.cs",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IExtensionBase.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IExtensionBase.cs",
|
||||
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IExtensionBase.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T16:25:54.624Z",
|
||||
"WhenOpened": "2025-05-18T14:16:38.035Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"Title": "IKeyMapper.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IKeyMapper.cs",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IKeyMapper.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IKeyMapper.cs",
|
||||
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IKeyMapper.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABMAAAAmAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-05-18T11:27:47.81Z",
|
||||
"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",
|
||||
"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": "AQIAAAAAAAAAAAAAAAAAAEAAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T16:22:51.196Z",
|
||||
"WhenOpened": "2025-05-18T08:52:39.396Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 13,
|
||||
"DocumentIndex": 7,
|
||||
"Title": "FirebirdEvent.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Datatypes\\FirebirdEvent.cs",
|
||||
@@ -175,33 +171,72 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"DocumentIndex": 12,
|
||||
"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",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAA9AAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T16:13:30.421Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"DocumentIndex": 11,
|
||||
"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",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACUAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T16:09:44.914Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 15,
|
||||
"DocumentIndex": 1,
|
||||
"Title": "IGame.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAAaAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-21T16:58:17.745Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"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": "AQIAAAAAAAAAAAAAAAAAAEUAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-17T17:56:23.324Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"Title": "KeyMapper.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"RelativeToolTip": "Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAAA5AAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-18T07:43:14.35Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "FloatRectangeExtension.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.SFMLExtensions\\FloatRectangeExtension.cs",
|
||||
@@ -214,33 +249,59 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"Title": "ILogger.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.Logger\\ILogger.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs",
|
||||
"RelativeToolTip": "Firebird2D.Logger\\ILogger.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAANAAAA",
|
||||
"DocumentIndex": 13,
|
||||
"Title": "Pipeline.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"ViewState": "AQIAABwAAAAAAAAAAAAQwAkAAAAjAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-21T17:12:31.494Z",
|
||||
"WhenOpened": "2025-04-17T19:45:23.048Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "IGame.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"RelativeToolTip": "FireBird2D.Interfaces\\Interfaces\\IGame.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAtAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-21T16:58:17.745Z",
|
||||
"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": "AQIAAAAAAAAAAAAAAAAAAAsAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003576|",
|
||||
"WhenOpened": "2025-04-22T16:46:40.211Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"DocumentIndex": 0,
|
||||
"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": "AQIAAGkAAAAAAAAAAAAIwCkAAAAJAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T16:25:54.624Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"Title": "Firebird2D.DataypesAndInterfaces",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
|
||||
"RelativeDocumentMoniker": "FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
|
||||
"RelativeToolTip": "FireBird2D.Interfaces\\Firebird2D.DataypesAndInterfaces.csproj",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
|
||||
"WhenOpened": "2025-05-18T08:20:59.511Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 16,
|
||||
"Title": "InputMapper.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Core\\InputMapper.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D\\Core\\InputMapper.cs",
|
||||
@@ -266,33 +327,33 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "KeyMapper.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"RelativeToolTip": "Firebird2D.KeyMapper\\KeyMapper.cs",
|
||||
"ViewState": "AQIAAAMAAAAAAAAAAAAAAB4AAAAJAAAA",
|
||||
"DocumentIndex": 18,
|
||||
"Title": "ILogger.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.Logger\\ILogger.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.Logger\\ILogger.cs",
|
||||
"RelativeToolTip": "Firebird2D.Logger\\ILogger.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAANAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-18T07:43:14.35Z",
|
||||
"WhenOpened": "2025-04-21T17:12:31.494Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"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": "AQIAABgAAAAAAAAAAAA1wEUAAAAJAAAA",
|
||||
"DocumentIndex": 17,
|
||||
"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-17T17:56:23.324Z",
|
||||
"WhenOpened": "2025-04-22T16:22:51.196Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"DocumentIndex": 15,
|
||||
"Title": "Require.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Require.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.Requirement\\Require.cs",
|
||||
@@ -305,7 +366,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 16,
|
||||
"DocumentIndex": 19,
|
||||
"Title": "Firebird2D.KeyMapping.csproj",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
|
||||
"RelativeDocumentMoniker": "Firebird2D.KeyMapper\\Firebird2D.KeyMapping.csproj",
|
||||
@@ -318,20 +379,7 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"Title": "Pipeline.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\Pipeline.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAVAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-17T19:45:23.048Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 22,
|
||||
"DocumentIndex": 21,
|
||||
"Title": "Game.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D\\Game.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D\\Game.cs",
|
||||
@@ -344,65 +392,13 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 18,
|
||||
"Title": "FirebirdKeyEventArgs.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\EventArguments\\FirebirdKeyEventArgs.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAABCAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-20T12:39:14.001Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 21,
|
||||
"Title": "InputEventType.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\EventArguments\\InputEventType.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAFAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-20T12:41:00.332Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 19,
|
||||
"Title": "FirebirdMouseButtonEventArgs.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\EventArguments\\FirebirdMouseButtonEventArgs.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABMAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-20T12:45:04.054Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 17,
|
||||
"Title": "FirebirdJoystickButtonEventArgs.cs",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
|
||||
"RelativeDocumentMoniker": "Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
|
||||
"RelativeToolTip": "Firebird2D.EventPipelines\\EventArguments\\FirebirdJoystickButtonEventArgs.cs",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAFAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-20T12:48:47.531Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 23,
|
||||
"DocumentIndex": 22,
|
||||
"Title": "ClassDiagram.md",
|
||||
"DocumentMoniker": "G:\\Coding\\Firebird2D\\ClassDiagram.md",
|
||||
"RelativeDocumentMoniker": "ClassDiagram.md",
|
||||
"ToolTip": "G:\\Coding\\Firebird2D\\ClassDiagram.md",
|
||||
"RelativeToolTip": "ClassDiagram.md",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACcAAAAFAAAA",
|
||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAAAAAAAA",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001818|",
|
||||
"WhenOpened": "2025-04-17T17:57:06.258Z",
|
||||
"EditorCaption": ""
|
||||
@@ -410,40 +406,6 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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.
+135
-33
@@ -1,44 +1,52 @@
|
||||
```mermaid
|
||||
classDiagram
|
||||
classDiagram
|
||||
|
||||
namespace EventPipelines{
|
||||
%% === Basisklassen ===
|
||||
class FirebirdEventArgs {
|
||||
<<abstract>>
|
||||
}
|
||||
|
||||
class Pipeline~T~ {
|
||||
- PipelineMaster : object
|
||||
+ OnEvent : EventHandler~T~
|
||||
+ PiplineMaster : object{readonly}
|
||||
+ IsEventEmpty : bool{readonly}
|
||||
+ Subscribe(handler : Delegate)
|
||||
+ Unsubscribe(handler : Delegate)
|
||||
+ SendEvent(sender : object, args : T)
|
||||
}
|
||||
|
||||
class EventBus {
|
||||
- pipelines : Dictionary~FirebirdEvent, Pipeline~T~>
|
||||
- pendingHooks : Dictionary ~FirebirdEvent, List~Action~object~~
|
||||
+ OnPipelineExist~T~(callback : Action<Pipeline~T~>, type : FirebirdEvent)
|
||||
+ BuildPipeline~T~(type : FirebirdEvent, master : object) : Pipeline~T~
|
||||
+ GetPipeline~T~(type : FirebirdEvent) : Pipeline~T~
|
||||
- pendingHooks : Dictionary~FirebirdEvent, List~Action~object~~
|
||||
+ OnPipelineIsBuild(callback : Action~IPipelineBase~, firebirdEvent : FirebirdEvent )
|
||||
+ GetOrBuildPipeline(type : FirebirdEvent, master : object) : IPipeline~T~
|
||||
+ GetPipeline(type : FirebirdEvent) : IPipelineBase?
|
||||
+ DestroyPipeline(type : FirebirdEvent, master : object)
|
||||
}
|
||||
}
|
||||
|
||||
%% === Spezialisierte Pipelines ===
|
||||
class KeyboardPipeline {
|
||||
<<inherits Pipeline~FirebirdKeyboardEventArgs~>>
|
||||
}
|
||||
namespace keymapping{
|
||||
class KeyMapper{
|
||||
- eventBus : IEventBus;
|
||||
- inputEvents : Dictionary~string, Delegate~ ;
|
||||
- eventTypes : Dictionary~string, Type~;
|
||||
- inputMapping : Dictionary~string, FirebirdEvent~ ;
|
||||
- cachedPipelines : Dictionary~FirebirdEvent, IPipeline~ ;
|
||||
|
||||
class MousePipeline {
|
||||
<<inherits Pipeline~FirebirdMouseEventArgs~>>
|
||||
}
|
||||
+ KeyMapper(eventBus : IEventBus)
|
||||
|
||||
%% === EventArgs Spezialisierungen ===
|
||||
class FirebirdKeyboardEventArgs {
|
||||
<<inherits FirebirdEventArgs>>
|
||||
}
|
||||
|
||||
class FirebirdMouseEventArgs {
|
||||
<<inherits FirebirdEventArgs>>
|
||||
+ RegisterEvent~T~(EventName : string , handler : EventHandler~T~ , eventNumber : FirebirdEvent )
|
||||
+ Map(EventName : string , eventNumbe : FirebirdEvent)
|
||||
- RemoveMapping(EventName : string)
|
||||
- AjustPipeline(EventName : string, eventNumber : FirebirdEvent )
|
||||
+ SaveMapping(Path : string)
|
||||
+ LoadMapping(Path : string)
|
||||
+ InvalidatePipelineCache(fbEvent : FirebirdEvent)
|
||||
+ GetOrCachePipeline~T~(fbEvent : FirebirdEvent ) : Pipeline~T~?
|
||||
+ HandleKeyboardInput(key : KeyEvent , type : KeyEvent)
|
||||
+ HandleMouseInput(button : MouseButtonEvent, type : InputEventType)
|
||||
+ HandleJoystickButtonInput(joystickButton : JoystickButtonEvent , type : InputEventType)
|
||||
+ HandleMouseMovement(mouseMove : MouseMoveEvent)
|
||||
+ HandleJoytickMove(joystickMove : JoystickMoveEvent)
|
||||
}
|
||||
}
|
||||
|
||||
namespace DatatypesAndInterfaces{
|
||||
%% === Enum ===
|
||||
class FirebirdEvent {
|
||||
<<enum>>
|
||||
@@ -48,15 +56,109 @@ namespace EventPipelines{
|
||||
KeyboardInputs
|
||||
MouseInputs
|
||||
}
|
||||
|
||||
class ModuleType{
|
||||
<<enum>>
|
||||
Extension
|
||||
EventSystem
|
||||
KeyMapper
|
||||
}
|
||||
|
||||
class IEventBus{
|
||||
<<Interface>>
|
||||
+ OnPipelineIsBuild(callback : Action~IPipelineBase~, firebirdEvent : FirebirdEvent )
|
||||
+ GetOrBuildPipeline(type : FirebirdEvent, master : object) : IPipeline~T~
|
||||
+ GetPipeline(type : FirebirdEvent) : IPipelineBase?
|
||||
+ DestroyPipeline(type : FirebirdEvent, master : object)
|
||||
}
|
||||
|
||||
class IPipelineBase {
|
||||
<<Interface>>
|
||||
+ PiplineMaster : object{readonly}
|
||||
+ IsEventEmpty : bool{readonly}
|
||||
+ Subscribe(handler : Delegate)
|
||||
+ Unsubscribe(handler : Delegate)
|
||||
}
|
||||
|
||||
class IPipeline~T~{
|
||||
<<Interface>>
|
||||
+ SendEvent(sender : object, args : T)
|
||||
}
|
||||
|
||||
class IKeyMapper{
|
||||
<<Interface>>
|
||||
+ Map(EventName : string , eventNumbe : FirebirdEvent)
|
||||
+ SaveMapping(Path : string)
|
||||
+ LoadMapping(Path : string)
|
||||
+ InvalidatePipelineCache(fbEvent : FirebirdEvent)
|
||||
+ GetOrCachePipeline~T~(fbEvent : FirebirdEvent ) : Pipeline~T~?
|
||||
+ HandleKeyboardInput(key : KeyEvent , type : KeyEvent)
|
||||
+ HandleMouseInput(button : MouseButtonEvent, type : InputEventType)
|
||||
+ HandleJoystickButtonInput(joystickButton : JoystickButtonEvent , type : InputEventType)
|
||||
+ HandleMouseMovement(mouseMove : MouseMoveEvent)
|
||||
+ HandleJoytickMove(joystickMove : JoystickMoveEvent)
|
||||
}
|
||||
|
||||
class IExtensionBase{
|
||||
<<Interface>>
|
||||
+ Startup()
|
||||
}
|
||||
|
||||
class IGame{
|
||||
<<Interface>>
|
||||
+ EventBus : IEventBus
|
||||
+ KeyMapper : IKeyMapper
|
||||
}
|
||||
}
|
||||
|
||||
%% === Beziehungen ===
|
||||
Pipeline~T~ <|-- KeyboardPipeline
|
||||
Pipeline~T~ <|-- MousePipeline
|
||||
FirebirdEventArgs <|-- FirebirdKeyboardEventArgs
|
||||
FirebirdEventArgs <|-- FirebirdMouseEventArgs
|
||||
EventBus -->Pipeline~T~
|
||||
EventBus -->Pipeline~T~
|
||||
namespace ModulLoading{
|
||||
class Modul {
|
||||
+ModuleType ModuleType
|
||||
+string Name
|
||||
+string RelativePath
|
||||
}
|
||||
|
||||
class ModulList {
|
||||
+List~Modul~ mods
|
||||
}
|
||||
|
||||
class ModulLoader {
|
||||
-ModulList? modulList
|
||||
-static Dictionary~ExtensionDependencyInjection, (Type, Func<IGame, object>)~ providers
|
||||
+ModulLoader(IGame)
|
||||
+T? LoadSystemComponent<T>(ModuleType, IGame)
|
||||
+void LoadExtensions(IGame)
|
||||
-T? LoadModule<T>(ModuleType, IGame, string)
|
||||
+void DeserialiseModulList()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
%% === Beziehungen ===
|
||||
EventBus --> Pipeline~T~
|
||||
EventBus --> IPipeline~T~
|
||||
EventBus --> IPipelineBase
|
||||
EventBus ..|> IEventBus
|
||||
|
||||
Pipeline~T~ ..|> IPipeline~T~
|
||||
Pipeline~T~ ..|> IPipelineBase
|
||||
|
||||
KeyMapper --> IEventBus
|
||||
KeyMapper --> FirebirdEvent
|
||||
KeyMapper --> IPipeline~T~
|
||||
KeyMapper ..|> IKeyMapper
|
||||
|
||||
IKeyMapper --> FirebirdEvent
|
||||
IKeyMapper --> IPipeline~T~
|
||||
|
||||
ModulList --> Modul
|
||||
ModulLoader --> ModulList
|
||||
ModulLoader --> Modul
|
||||
ModulLoader --> ModuleType
|
||||
ModulLoader --> IGame
|
||||
ModulLoader --> IExtensionBase
|
||||
ModulLoader --> IEventBus
|
||||
ModulLoader --> IKeyMapper
|
||||
|
||||
|
||||
```
|
||||
@@ -6,4 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SFML.Net" Version="2.6.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -10,11 +10,11 @@ namespace Firebird2D.Interfaces
|
||||
{
|
||||
public interface IEventBus
|
||||
{
|
||||
public void OnPipelineIsBuild(Action<IPipeline> callback, FirebirdEvent firebirdEvent);
|
||||
public void OnPipelineIsBuild(Action<IPipelineBase> callback, FirebirdEvent firebirdEvent);
|
||||
|
||||
public IPipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master);
|
||||
public IPipeline<T> GetOrBuildPipeline<T>(FirebirdEvent type, object master) where T : EventArgs;
|
||||
|
||||
public IPipeline? GetPipeline(FirebirdEvent type, Type argsType);
|
||||
public IPipelineBase GetPipeline(FirebirdEvent type);
|
||||
|
||||
public void DestroyPipeline(FirebirdEvent type, object master);
|
||||
}
|
||||
|
||||
+3
-5
@@ -4,12 +4,10 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.Datatypes
|
||||
namespace Firebird2D.DataypesAndInterfaces.Interfaces
|
||||
{
|
||||
public enum ModuleType
|
||||
public interface IExtensionBase
|
||||
{
|
||||
Extension = 0,
|
||||
EventSystem = 1,
|
||||
KeyMapper = 2
|
||||
public void Startup();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Firebird2D.Interfaces;
|
||||
using Firebird2D.DataypesAndInterfaces.Interfaces;
|
||||
using Firebird2D.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -10,5 +11,7 @@ namespace Firebird2D.Interfaces
|
||||
public interface IGame
|
||||
{
|
||||
public IEventBus EventBus { get; set; }
|
||||
|
||||
public IKeyMapper KeyMapper { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
using Firebird2D.Datatypes;
|
||||
using Firebird2D.EventPipelines.EventArguments;
|
||||
using Firebird2D.Interfaces;
|
||||
using SFML.Window;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.DataypesAndInterfaces.Interfaces
|
||||
{
|
||||
public interface IKeyMapper
|
||||
{
|
||||
void RegisterEvent<T>(string EventName, EventHandler<T> handler, FirebirdEvent eventNumber) where T : EventArgs;
|
||||
void Map(string EventName, FirebirdEvent eventNumber);
|
||||
void SaveMapping(string Path);
|
||||
void LoadMapping(string Path);
|
||||
void InvalidatePipelineCache(FirebirdEvent fbEvent);
|
||||
void HandleKeyboardInput(KeyEvent key, InputEventType type);
|
||||
void HandleMouseInput(MouseButtonEvent button, InputEventType type);
|
||||
void HandleJoystickButtonInput(JoystickButtonEvent joystickButton, InputEventType type);
|
||||
void HandleMouseMovement(MouseMoveEvent mouseMove);
|
||||
public void HandleJoytickMove(JoystickMoveEvent joystickMove);
|
||||
}
|
||||
}
|
||||
@@ -6,10 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for the Firebird event Pipeline
|
||||
/// </summary>
|
||||
public interface IPipeline
|
||||
public interface IPipelineBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Class witch owns the Pipeline and has the right to send events or delete the pipeline
|
||||
@@ -30,6 +27,15 @@ namespace Firebird2D.Interfaces
|
||||
/// </summary>
|
||||
/// <param name="handler">Handler witch should be removed from the Pipeline</param>
|
||||
void Unsubscribe(Delegate handler);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for the Firebird event Pipeline
|
||||
/// </summary>
|
||||
public interface IPipeline<T> : IPipelineBase where T : EventArgs
|
||||
{
|
||||
|
||||
|
||||
void SendEvent(object sender, T args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,11 +15,11 @@ namespace Firebird2D.EventPipelines
|
||||
{
|
||||
// Dictionary that stores various pipelines for specific FirebirdEvents.
|
||||
// The key is the event, and the value is the corresponding pipeline.
|
||||
private Dictionary<FirebirdEvent, IPipeline> pipelines = new();
|
||||
private Dictionary<FirebirdEvent, IPipelineBase> pipelines = new();
|
||||
|
||||
// Dictionary that stores a list of callbacks for each FirebirdEvent.
|
||||
// These callbacks will be invoked when the event's pipeline is build.
|
||||
private Dictionary<FirebirdEvent, List<Action<IPipeline>>> pendingHooks = new();
|
||||
private Dictionary<FirebirdEvent, List<Action<IPipelineBase>>> pendingHooks = new();
|
||||
|
||||
/// <summary>
|
||||
/// Registers a callback (hook) for a specific event. The callback will be invoked when the pipeline for this event is built.
|
||||
@@ -27,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="type">The event for which the callback should be registered.</param>
|
||||
/// <exception cref="ArgumentNullException">Thrown when the callback is null.</exception>
|
||||
public void OnPipelineIsBuild(Action<IPipeline> callback, FirebirdEvent type)
|
||||
public void OnPipelineIsBuild(Action<IPipelineBase> callback, FirebirdEvent type)
|
||||
{
|
||||
if (callback == null) throw new ArgumentNullException(nameof(callback));
|
||||
|
||||
@@ -46,16 +46,23 @@ namespace Firebird2D.EventPipelines
|
||||
/// Otherwise, a new pipeline is created and stored.
|
||||
/// </summary>
|
||||
/// <param name="type">The event for which the pipeline should be created or retrieved.</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>
|
||||
/// <returns>The pipeline for the given event.</returns>
|
||||
public IPipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master)
|
||||
public IPipeline<T> GetOrBuildPipeline<T>(FirebirdEvent type, object master) where T : EventArgs
|
||||
{
|
||||
if (pipelines.TryGetValue(type, out var pipeline)) return pipeline;
|
||||
if (pipelines.TryGetValue(type, out var pipeline)) return (IPipeline<T>)pipeline;
|
||||
|
||||
var genericPipelineType = typeof(Pipeline<>).MakeGenericType(argsType);
|
||||
var pipelineInstance = (IPipeline)Activator.CreateInstance(genericPipelineType, master)!;
|
||||
var pipelineInstance = new Pipeline<T>(master);
|
||||
pipelines[type] = pipelineInstance;
|
||||
if (pendingHooks.TryGetValue(type, out var hookList)) return pipelineInstance;
|
||||
|
||||
if (hookList == null) return pipelineInstance;
|
||||
|
||||
foreach (Action<IPipelineBase> hook in hookList)
|
||||
{
|
||||
hook.Invoke(pipelineInstance);
|
||||
}
|
||||
|
||||
return pipelineInstance;
|
||||
}
|
||||
|
||||
@@ -63,9 +70,8 @@ namespace Firebird2D.EventPipelines
|
||||
/// Retrieves the pipeline for an event if it exists; otherwise, returns null.
|
||||
/// </summary>
|
||||
/// <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>
|
||||
/// <returns>The pipeline for the event, or null if it does not exist.</returns>
|
||||
public IPipeline? GetPipeline(FirebirdEvent type, Type argsType)
|
||||
public IPipelineBase? GetPipeline(FirebirdEvent type)
|
||||
{
|
||||
if (!pipelines.TryGetValue(type, out var pipeline)) return null;
|
||||
return pipeline;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Firebird2D.EventPipelines
|
||||
/// Eventpypeline which transports an event to every Subscyber
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Event Arguments for the Pipeline event</typeparam>
|
||||
public class Pipeline <T> : IPipeline where T : EventArgs
|
||||
public class Pipeline <T> : IPipeline<T> where T : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Class witch owns the Pipeline and has the right to send events or delete the pipeline
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Firebird2D.EventPipelines\Firebird2D.EventPipelines.csproj" />
|
||||
<ProjectReference Include="..\Firebird2D.Requirement\Firebird2D.Requirement.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -5,13 +5,15 @@ using System.Runtime.CompilerServices;
|
||||
using System.Text.Json;
|
||||
using Firebird2D.Interfaces;
|
||||
using Firebird2D.Datatypes;
|
||||
using Firebird2D.DataypesAndInterfaces.Interfaces;
|
||||
using Firebird2D.Requirement;
|
||||
|
||||
namespace Firebird2D.KeyMapping
|
||||
{
|
||||
/// <summary>
|
||||
/// Maps input events (keyboard, mouse, joystick) to custom Firebird events and manages their pipelines.
|
||||
/// </summary>
|
||||
public class KeyMapper
|
||||
public class KeyMapper : IKeyMapper
|
||||
{
|
||||
private readonly IEventBus eventBus;
|
||||
|
||||
@@ -25,7 +27,7 @@ namespace Firebird2D.KeyMapping
|
||||
private Dictionary<string, FirebirdEvent> inputMapping = [];
|
||||
|
||||
// Caches active pipelines for performance.
|
||||
private Dictionary<FirebirdEvent, IPipeline> cachedPipelines = [];
|
||||
private Dictionary<FirebirdEvent, IPipelineBase> cachedPipelines = [];
|
||||
|
||||
public KeyMapper(IEventBus eventBus)
|
||||
{
|
||||
@@ -72,7 +74,7 @@ namespace Firebird2D.KeyMapping
|
||||
if (!inputMapping.TryGetValue(EventName, out var firebirdEvent)) return;
|
||||
if (!eventTypes.TryGetValue(EventName, out var type)) return;
|
||||
|
||||
IPipeline? pipeline = eventBus.GetPipeline(firebirdEvent, type);
|
||||
IPipelineBase pipeline = eventBus.GetPipeline(firebirdEvent);
|
||||
|
||||
if (pipeline != null)
|
||||
{
|
||||
@@ -94,7 +96,7 @@ namespace Firebird2D.KeyMapping
|
||||
{
|
||||
if (!eventTypes.TryGetValue(EventName, out var type)) return;
|
||||
|
||||
IPipeline pipeline = eventBus.GetOrBuildPipeline(eventNumber, type, this);
|
||||
IPipeline<EventArgs> pipeline = eventBus.GetOrBuildPipeline<EventArgs>(eventNumber, this);
|
||||
pipeline.Subscribe(inputEvents[EventName]);
|
||||
}
|
||||
|
||||
@@ -146,12 +148,12 @@ namespace Firebird2D.KeyMapping
|
||||
/// Retrieves a cached pipeline or fetches and caches it.
|
||||
/// </summary>
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private Pipeline<T>? GetOrCachePipeline<T>(FirebirdEvent fbEvent) where T : EventArgs
|
||||
private IPipeline<T>? GetOrCachePipeline<T>(FirebirdEvent fbEvent) where T : EventArgs
|
||||
{
|
||||
if (cachedPipelines.TryGetValue(fbEvent, out var pipelineObj) && pipelineObj is Pipeline<T> cached)
|
||||
return cached;
|
||||
|
||||
var pipeline = eventBus?.GetPipeline(fbEvent, typeof(T)) as Pipeline<T>;
|
||||
var pipeline = eventBus?.GetPipeline(fbEvent) as Pipeline<T>;
|
||||
|
||||
if (pipeline != null)
|
||||
cachedPipelines[fbEvent] = pipeline;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -14,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Logger")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+47ddfed9bc856f69b96a5dee3963e56a0c0d269c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Logger")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Logger")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Von der MSBuild WriteCodeFragment-Klasse generiert.
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
efa2647d90b080a7b266fbfa5ece1bdf184aafb101e1daf94499748c54e5b462
|
||||
a9f3fdec0f3c349ed983a18d512fe6dc153bda16f51c4a0754a5ffc694000f43
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Firebird2D.Datatypes;
|
||||
using Firebird2D.DataypesAndInterfaces.Interfaces;
|
||||
using Firebird2D.Interfaces;
|
||||
using Firebird2D.Logger;
|
||||
using Firebird2D.Requirement;
|
||||
@@ -25,66 +26,122 @@ namespace Firebird2D.ModulLoading
|
||||
|
||||
public class ModulLoader
|
||||
{
|
||||
private readonly IGame gameInstance;
|
||||
|
||||
private static readonly Dictionary<ExtensionDependencyInjection, (Type type, Func<IGame, object> resolver)> providers = new()
|
||||
{
|
||||
[ExtensionDependencyInjection.game] = (typeof(IGame), game => game),
|
||||
[ExtensionDependencyInjection.eventsystem] = (typeof(IEventBus), game => game.EventBus),
|
||||
[ExtensionDependencyInjection.keymapper] = (typeof(IKeyMapper), game => game.KeyMapper),
|
||||
};
|
||||
|
||||
|
||||
private ModulList? modulList = null;
|
||||
|
||||
|
||||
public ModulLoader(IGame gameInstance)
|
||||
{
|
||||
this.gameInstance = gameInstance;
|
||||
DeserialiseModulList();
|
||||
}
|
||||
|
||||
public void LoadModules()
|
||||
public T? LoadSystemComponent<T>(ModuleType moduleType, IGame gameInstance) where T : class
|
||||
{
|
||||
DeserialiseModulList();
|
||||
if (modulList == null) return;
|
||||
List<Modul> eventModul = modulList.mods.Where(m => m.ModuleType == ModuleType.EventSystem).ToList();
|
||||
if(modulList?.mods == null || modulList.mods.Count == 0) return null;
|
||||
|
||||
if (eventModul.Count > 1) GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"More then one EventModul defined first modul ist loaded");
|
||||
List<Modul> systemModules = modulList.mods.Where(m => m.ModuleType == moduleType).ToList();
|
||||
if (systemModules.Count > 1) GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"More then one {moduleType.ToString()} defined, first loadable modul ist loaded");
|
||||
if (systemModules.Count < 1) { GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Info, $"No {moduleType.ToString()} is Defined Basic Modul is Loaded"); return null; };
|
||||
|
||||
if (eventModul.Count != 0)
|
||||
for(int i = 0; i < systemModules.Count; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
Assembly eventAssembly = Assembly.Load(eventModul[0].RelativePath);
|
||||
if (string.IsNullOrWhiteSpace(systemModules[i].RelativePath)) continue;
|
||||
T? modul = LoadModule<T>(moduleType, gameInstance, systemModules[i].RelativePath);
|
||||
if (modul == null) continue;
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Info, $"{systemModules[i].RelativePath} is loeaded for {moduleType}.");
|
||||
return modul;
|
||||
}
|
||||
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Info, $"F{eventModul[0].Name} loaded.");
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Error, $"None of the defined {moduleType} modules could be loaded.");
|
||||
|
||||
LinkEventAssembly(eventAssembly);
|
||||
}
|
||||
catch(Exception ex)
|
||||
return null;
|
||||
}
|
||||
|
||||
public void LoadExtensions(IGame gameInstance)
|
||||
{
|
||||
if (modulList?.mods == null || modulList.mods.Count == 0) return;
|
||||
|
||||
List<Modul> eventModul = modulList.mods.Where(m => m.ModuleType == ModuleType.Extension).ToList();
|
||||
|
||||
foreach (Modul modul in eventModul) {
|
||||
if (string.IsNullOrWhiteSpace(modul.RelativePath)) continue;
|
||||
|
||||
IExtensionBase? extensionBase = LoadModule<IExtensionBase>(ModuleType.Extension, gameInstance, modul.RelativePath);
|
||||
if (extensionBase != null)
|
||||
{
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"Failed to load {eventModul[0].Name}, with exception {ex.Message}");
|
||||
extensionBase.Startup();
|
||||
}
|
||||
}
|
||||
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()
|
||||
private T? LoadModule<T>(ModuleType moduleType, IGame gameInstance, string modulePath) where T : class
|
||||
{
|
||||
try
|
||||
{
|
||||
using (FileStream file = new FileStream("Modules/Moduls.xml", FileMode.Open))
|
||||
string basePath = AppContext.BaseDirectory;
|
||||
string dllPath = Path.Combine(basePath, modulePath);
|
||||
|
||||
Assembly assembly = Assembly.LoadFrom(dllPath);
|
||||
Type moduleClassType = assembly.GetTypes().First(t => typeof(T).IsAssignableFrom(t));
|
||||
|
||||
List<Type> dependencyInjectionTypes = [];
|
||||
List<Object> dependencyInjections = [];
|
||||
|
||||
foreach (var neededParam in moduleType.getNeededDependencyInjection())
|
||||
{
|
||||
if (providers.TryGetValue(neededParam, out var entry))
|
||||
{
|
||||
dependencyInjectionTypes.Add(entry.type);
|
||||
dependencyInjections.Add(entry.resolver(gameInstance));
|
||||
}
|
||||
else
|
||||
{
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Warning, $"No provider found for dependency: {neededParam}");
|
||||
}
|
||||
}
|
||||
|
||||
ConstructorInfo? ctor = moduleClassType.GetConstructor(dependencyInjectionTypes.ToArray());
|
||||
|
||||
if (ctor == null)
|
||||
{
|
||||
string signature = string.Join(", ", dependencyInjectionTypes.Select(t => t.Name));
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Error, $"No constructor found matching: ({signature})");
|
||||
return null;
|
||||
};
|
||||
|
||||
T instance = (T)ctor.Invoke(dependencyInjections.ToArray());
|
||||
Type expectedType = moduleType.getBasicModuleInterfaceType();
|
||||
|
||||
if (!expectedType.IsInstanceOfType(instance))
|
||||
{
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Error, $"Instance does not implement {expectedType.Name}");
|
||||
return null;
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
GameLogger.GetInstance(0).Log("ModuleLoader", LogType.Error, $"Error while loading event module {ex.ToString()}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeserialiseModulList()
|
||||
{
|
||||
try
|
||||
{
|
||||
string path = Path.Combine(AppContext.BaseDirectory, "Modules", "Moduls.xml");
|
||||
using (FileStream file = new FileStream(path, FileMode.Open))
|
||||
{
|
||||
XmlSerializer xmlSerializer = new XmlSerializer(typeof(ModulList));
|
||||
modulList = (ModulList?)xmlSerializer.Deserialize(file);
|
||||
@@ -92,7 +149,7 @@ namespace Firebird2D.ModulLoading
|
||||
}
|
||||
catch(Exception ex) {
|
||||
modulList = null;
|
||||
GameLogger.GetInstance(0).Log("ModulLoader",LogType.Warning, $"Modul file not existing or invalid: {ex.Message}");
|
||||
GameLogger.GetInstance(0).Log("ModulLoader",LogType.Warning, $"Modul file not existing or invalid: {ex.ToString()}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
using Firebird2D.DataypesAndInterfaces.Interfaces;
|
||||
using Firebird2D.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.ModulLoading
|
||||
{
|
||||
public enum ModuleType
|
||||
{
|
||||
Extension = 0,
|
||||
EventSystem = 1,
|
||||
KeyMapper = 2
|
||||
}
|
||||
|
||||
public enum ExtensionDependencyInjection
|
||||
{
|
||||
game,
|
||||
eventsystem,
|
||||
keymapper
|
||||
}
|
||||
|
||||
public static class ModuleTypeExtensions
|
||||
{
|
||||
public static Type getBasicModuleInterfaceType(this ModuleType moduleType)
|
||||
{
|
||||
return moduleType switch
|
||||
{
|
||||
ModuleType.Extension => typeof(IExtensionBase),
|
||||
ModuleType.EventSystem => typeof(IEventBus),
|
||||
ModuleType.KeyMapper => typeof(IKeyMapper)
|
||||
};
|
||||
}
|
||||
|
||||
public static ExtensionDependencyInjection[] getNeededDependencyInjection(this ModuleType moduleType)
|
||||
{
|
||||
return moduleType switch
|
||||
{
|
||||
ModuleType.Extension => [ExtensionDependencyInjection.game],
|
||||
ModuleType.EventSystem => [ ],
|
||||
ModuleType.KeyMapper => [ExtensionDependencyInjection.eventsystem]
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,9 @@
|
||||
<Moduls>
|
||||
<!--
|
||||
<Modul>
|
||||
<ModuleType>Plugin</ModuleType>
|
||||
<ModuleType>Extension |
|
||||
EventSystem |
|
||||
KeyMapper</ModuleType>
|
||||
<Name>Logger</Name>
|
||||
<RelativePath>Modules/Logger</RelativePath>
|
||||
</Modul>
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -14,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.Requirement")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+47ddfed9bc856f69b96a5dee3963e56a0c0d269c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.Requirement")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.Requirement")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Von der MSBuild WriteCodeFragment-Klasse generiert.
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
d930c16e48000b60c3592ab43be941a4270796fd5c53910ce4333c8a429ab31e
|
||||
f581c37a3c854f5a860046d943afdf55d92d954e13f5fe1b8d2ca272db9ec0ac
|
||||
|
||||
+5
-6
@@ -1,10 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -14,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D.SFMLExtensions")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+47ddfed9bc856f69b96a5dee3963e56a0c0d269c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D.SFMLExtensions")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D.SFMLExtensions")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Von der MSBuild WriteCodeFragment-Klasse generiert.
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
f626d59756ad26a054c1d1f23d861aa33ef4951843a64a2988b4cd5ed949a8c9
|
||||
ead2f01976d183a4249a04181867bc7e061b626d8af29ab0f33a5be7ef71045d
|
||||
|
||||
+6
-1
@@ -22,7 +22,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.KeyMapping", "Fi
|
||||
EndProject
|
||||
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}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Firebird2D.ModulLoading", "Firebird2D.ModulLoader\Firebird2D.ModulLoading.csproj", "{917F395C-6C2E-4F23-9ED1-B123E5F272E9}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Code Ideas", "Code Ideas", "{23904BA8-EE2E-421B-A320-2D51049C5936}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
LoadDynamic and inject dependency.txt = LoadDynamic and inject dependency.txt
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -14,10 +13,10 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Firebird2D")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+766b2e414b907163c1fd34f3b22b1aa8ae51a9e2")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+47ddfed9bc856f69b96a5dee3963e56a0c0d269c")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Firebird2D")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Firebird2D")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Von der MSBuild WriteCodeFragment-Klasse generiert.
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
b58b950687c3bc10dc33b3f06fb727341820dba7c020e683d062fa25981537d0
|
||||
25825266d81fcf1361d25892e26ada2edd110ab12acc96c200ef0eb2e4e09249
|
||||
|
||||
@@ -128,6 +128,12 @@
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"dependencies": {
|
||||
"SFML.Net": {
|
||||
"target": "Package",
|
||||
"version": "[2.6.1, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
@@ -181,6 +187,9 @@
|
||||
"projectReferences": {
|
||||
"G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj": {
|
||||
"projectPath": "G:\\Coding\\Firebird2D\\Firebird2D.EventPipelines\\Firebird2D.EventPipelines.csproj"
|
||||
},
|
||||
"G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj": {
|
||||
"projectPath": "G:\\Coding\\Firebird2D\\Firebird2D.Requirement\\Firebird2D.Requirement.csproj"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1046,6 +1046,9 @@
|
||||
"Firebird2D.DataypesAndInterfaces/1.0.0": {
|
||||
"type": "project",
|
||||
"framework": ".NETCoreApp,Version=v8.0",
|
||||
"dependencies": {
|
||||
"SFML.Net": "2.6.1"
|
||||
},
|
||||
"compile": {
|
||||
"bin/placeholder/Firebird2D.DataypesAndInterfaces.dll": {}
|
||||
},
|
||||
@@ -1071,7 +1074,8 @@
|
||||
"type": "project",
|
||||
"framework": ".NETCoreApp,Version=v8.0",
|
||||
"dependencies": {
|
||||
"Firebird2D.EventPipelines": "1.0.0"
|
||||
"Firebird2D.EventPipelines": "1.0.0",
|
||||
"Firebird2D.Requirement": "1.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"bin/placeholder/Firebird2D.KeyMapping.dll": {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "reTuevwexX0=",
|
||||
"dgSpecHash": "Hckho++vxAc=",
|
||||
"success": true,
|
||||
"projectFilePath": "G:\\Coding\\Firebird2D\\Firebird2D\\Firebird2D.csproj",
|
||||
"expectedPackageFiles": [
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
Assembly assembly = Assembly.LoadFrom("plugin.dll");
|
||||
Type pluginType = assembly.GetTypes().First(t => typeof(IPlugin).IsAssignableFrom(t));
|
||||
|
||||
ConstructorInfo ctor = pluginType.GetConstructor(new[] { typeof(IEventBus) });
|
||||
|
||||
if (ctor == null)
|
||||
throw new InvalidOperationException("Kein passender Konstruktor gefunden.");
|
||||
|
||||
IPlugin instance = (IPlugin)ctor.Invoke(new object[] { eventBus });
|
||||
|
||||
Reference in New Issue
Block a user