diff --git a/Duality.sln b/Duality.sln index 3d89ae1f3..01610d4b4 100644 --- a/Duality.sln +++ b/Duality.sln @@ -102,6 +102,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DualityPhysics", "Source\Co EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleRunner", "Samples\SampleRunner\SampleRunner.csproj", "{A9B86395-ED96-4695-8A18-548301524B42}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DualityTemplates", "Source\DualityTemplates\DualityTemplates.csproj", "{3AB26D57-70D9-40DE-B12D-6B1489035805}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -260,6 +262,10 @@ Global {A9B86395-ED96-4695-8A18-548301524B42}.Debug|Any CPU.Build.0 = Debug|Any CPU {A9B86395-ED96-4695-8A18-548301524B42}.Release|Any CPU.ActiveCfg = Release|Any CPU {A9B86395-ED96-4695-8A18-548301524B42}.Release|Any CPU.Build.0 = Release|Any CPU + {3AB26D57-70D9-40DE-B12D-6B1489035805}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AB26D57-70D9-40DE-B12D-6B1489035805}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AB26D57-70D9-40DE-B12D-6B1489035805}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AB26D57-70D9-40DE-B12D-6B1489035805}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Source/DualityTemplates/DualityTemplates.csproj b/Source/DualityTemplates/DualityTemplates.csproj new file mode 100644 index 000000000..f64319b0c --- /dev/null +++ b/Source/DualityTemplates/DualityTemplates.csproj @@ -0,0 +1,63 @@ + + + + Template + AdamsLair.Duality.Templates + Duality Templates + Rick van Dam + Templates to use with the Duality game engine + dotnet-new;templates;duality + netstandard2.0 + false + $(MSBuildProjectDirectory)/bin + true + false + content + 4.0.0-alpha + https://www.duality2d.net/ + https://github.com/AdamsLair/duality + MIT + false + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + Never + + + + + + + + + + + + true + + diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/.gitignore b/Source/DualityTemplates/Templates/SolutionTemplate/.gitignore new file mode 100644 index 000000000..1ebd818bf --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/.gitignore @@ -0,0 +1,18 @@ +# Build output files +**/bin +**/obj + +# Duality specific files +/Temp +/Backup +/UserData.dat +/DesignTimeData.dat +*.pdb +/*.dll +/*.exe +/*.txt +/*.xml +/Plugins + +# Visual studio specific files +Source/.vs diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/.template.config/template.json b/Source/DualityTemplates/Templates/SolutionTemplate/.template.config/template.json new file mode 100644 index 000000000..9b8254677 --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Rick van Dam", + "classifications": [ "Duality" ], + "identity": "DualitySolutionTemplate", + "name": "DualitySolutionTemplate", + "shortName": "dualitySolution", + "sourceName": "DualityGame", + "tags": { + "language": "C#" + }, + "postActions": [ + { + "actionId": "3A7C4B45-1F5D-4A30-959A-51B88E82B5D2", + "args": { + "executable": "dotnet", + "args": "build Source" + }, + "manualInstructions": [ + { + "text": "Builds the solution using dotnet build'" + } + ], + "continueOnError": false, + "description ": "runs the build" + } + ] +} \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Directory.Build.props b/Source/DualityTemplates/Templates/SolutionTemplate/Directory.Build.props new file mode 100644 index 000000000..c54c9362f --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Directory.Build.props @@ -0,0 +1,5 @@ + + + $(MSBuildThisFileDirectory) + + \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/DualityGame.sln b/Source/DualityTemplates/Templates/SolutionTemplate/Source/DualityGame.sln new file mode 100644 index 000000000..a72db313c --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/DualityGame.sln @@ -0,0 +1,49 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29911.84 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameLauncher", "Launchers\GameLauncher\GameLauncher.csproj", "{EB32E368-2C3C-444F-9F7A-C808C03D462E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameEditor", "Launchers\GameEditor\GameEditor.csproj", "{E587311C-714A-4078-ADAE-EC00E8D971CB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DualityGameCorePlugin", "Plugins\DualityGameCorePlugin\DualityGameCorePlugin.csproj", "{E77740F1-234A-4B92-B1BC-43AD9EB9BA03}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{F75B2813-797D-44A5-A301-331C229992C7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DualityGameEditorPlugin", "Plugins\DualityGameEditorPlugin\DualityGameEditorPlugin.csproj", "{F0DCA20C-6888-4294-97C4-14C82B4DBC82}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EB32E368-2C3C-444F-9F7A-C808C03D462E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EB32E368-2C3C-444F-9F7A-C808C03D462E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB32E368-2C3C-444F-9F7A-C808C03D462E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB32E368-2C3C-444F-9F7A-C808C03D462E}.Release|Any CPU.Build.0 = Release|Any CPU + {E587311C-714A-4078-ADAE-EC00E8D971CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E587311C-714A-4078-ADAE-EC00E8D971CB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E587311C-714A-4078-ADAE-EC00E8D971CB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E587311C-714A-4078-ADAE-EC00E8D971CB}.Release|Any CPU.Build.0 = Release|Any CPU + {E77740F1-234A-4B92-B1BC-43AD9EB9BA03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E77740F1-234A-4B92-B1BC-43AD9EB9BA03}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E77740F1-234A-4B92-B1BC-43AD9EB9BA03}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E77740F1-234A-4B92-B1BC-43AD9EB9BA03}.Release|Any CPU.Build.0 = Release|Any CPU + {F0DCA20C-6888-4294-97C4-14C82B4DBC82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F0DCA20C-6888-4294-97C4-14C82B4DBC82}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F0DCA20C-6888-4294-97C4-14C82B4DBC82}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F0DCA20C-6888-4294-97C4-14C82B4DBC82}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {E77740F1-234A-4B92-B1BC-43AD9EB9BA03} = {F75B2813-797D-44A5-A301-331C229992C7} + {F0DCA20C-6888-4294-97C4-14C82B4DBC82} = {F75B2813-797D-44A5-A301-331C229992C7} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3678251F-E0BD-439B-9C29-8FB5513B3241} + EndGlobalSection +EndGlobal diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/Directory.Build.props b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/Directory.Build.props new file mode 100644 index 000000000..017a91e4d --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/Directory.Build.props @@ -0,0 +1,38 @@ + + + + net472 + false + none + false + .pdb + any + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/GameEditor.csproj b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/GameEditor.csproj new file mode 100644 index 000000000..b21e6d2cb --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/GameEditor.csproj @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + false + + + + \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/Properties/launchSettings.json b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/Properties/launchSettings.json new file mode 100644 index 000000000..c9003e71d --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameEditor/Properties/launchSettings.json @@ -0,0 +1,9 @@ +{ + "profiles": { + "GameEditor": { + "commandName": "Executable", + "executablePath": ".\\DualityEditor.exe", + "workingDirectory": ".\\..\\..\\..\\.." + } + } +} \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/GameLauncher.csproj b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/GameLauncher.csproj new file mode 100644 index 000000000..e25c5087c --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/GameLauncher.csproj @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/Properties/launchSettings.json b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/Properties/launchSettings.json new file mode 100644 index 000000000..22a778a60 --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Launchers/GameLauncher/Properties/launchSettings.json @@ -0,0 +1,9 @@ +{ + "profiles": { + "GameLauncher": { + "commandName": "Executable", + "executablePath": ".\\DualityLauncher.exe", + "workingDirectory": ".\\..\\..\\..\\.." + } + } +} \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.cs b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.cs new file mode 100644 index 000000000..ac9b78255 --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.cs @@ -0,0 +1,18 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Duality; + +namespace DualityGameCorePlugin +{ + /// + /// Defines a Duality core plugin. + /// + public class DualityGameCorePlugin : CorePlugin + { + // Override methods here for global logic + } +} \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.csproj b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.csproj new file mode 100644 index 000000000..67ea2692c --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/DualityGameCorePlugin.csproj @@ -0,0 +1,15 @@ + + + + netstandard2.0 + false + true + DualityGameCorePlugin.core + + + + + + + + diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/YourCustomComponentType.cs b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/YourCustomComponentType.cs new file mode 100644 index 000000000..bd2be906a --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameCorePlugin/YourCustomComponentType.cs @@ -0,0 +1,14 @@ + +using System; +using System.Collections.Generic; +using System.Linq; + +using Duality; + +namespace DualityGameCorePlugin +{ + public class YourCustomComponentType : Component + { + + } +} \ No newline at end of file diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/DualityGameEditorPlugin.csproj b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/DualityGameEditorPlugin.csproj new file mode 100644 index 000000000..1e82aff5b --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/DualityGameEditorPlugin.csproj @@ -0,0 +1,16 @@ + + + + net472 + false + true + DualityGameEditorPlugin.editor + + + + + + + + + diff --git a/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/EditorPlugin.cs b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/EditorPlugin.cs new file mode 100644 index 000000000..f98767495 --- /dev/null +++ b/Source/DualityTemplates/Templates/SolutionTemplate/Source/Plugins/DualityGameEditorPlugin/EditorPlugin.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Duality.Editor; + +namespace DualityGameEditorPlugin +{ + /// + /// Defines a Duality editor plugin. + /// + public class DualityGameEditorPlugin : EditorPlugin + { + public override string Id + { + get { return "Duality_EditorPlugin"; } + } + } +} \ No newline at end of file