diff --git a/Nitrocid.sln b/Nitrocid.sln index baf32b8742..70ac17622e 100644 --- a/Nitrocid.sln +++ b/Nitrocid.sln @@ -174,6 +174,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nitrocid.Benchmarks", "private\Nitrocid.Benchmarks\Nitrocid.Benchmarks.csproj", "{32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{0F3600BA-D929-4E70-957D-71992819CE61}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "templatepack", "public\Nitrocid.Templates\templatepack.csproj", "{6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -396,6 +400,10 @@ Global {32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Debug|Any CPU.Build.0 = Debug|Any CPU {32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Release|Any CPU.ActiveCfg = Release|Any CPU {32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3}.Release|Any CPU.Build.0 = Release|Any CPU + {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -461,6 +469,8 @@ Global {600337A5-0D56-476A-9428-52B1EF665950} = {B60F276A-FE12-4001-916E-080344ED1FD9} {EA27625C-C2DE-4080-9253-A572114EDC21} = {61916ED1-66D6-4938-9F1A-D0DF38D16E20} {32EFC1E5-CE9A-457D-BDC3-3EDE638DE5F3} = {EA27625C-C2DE-4080-9253-A572114EDC21} + {0F3600BA-D929-4E70-957D-71992819CE61} = {A32F9CED-BCDB-48A7-A42D-E98E33BD6E65} + {6F4FFE84-4F9B-474F-8FA4-A2DCCF5415C2} = {0F3600BA-D929-4E70-957D-71992819CE61} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {424D8E7A-CFEB-40AE-A79C-437D603177FD} diff --git a/public/Nitrocid.Templates/templatepack.csproj b/public/Nitrocid.Templates/templatepack.csproj new file mode 100644 index 0000000000..8a3bcde5a7 --- /dev/null +++ b/public/Nitrocid.Templates/templatepack.csproj @@ -0,0 +1,49 @@ + + + + KS.Templates + Template + 0.1.0 + Aptivi + Nitrocid KS Templates + Simulates our future-planned kernel, Nitrocid Kernel. This package contains templates to use when creating N-KS mods, screensavers, and splashes + dotnet-new;templats;ks;kernel;simulator + + https://github.com/Aptivi/NitrocidKS + OfficialAppIcon-KernelSimulator-512.png + GPL-3.0-or-later + Detailed explanation: https://aptivi.gitbook.io/nitrocid-ks-manual/versions-and-compatibility/version-release-notes/v0.1.x.x-series + + true + ../Nitrocid/KSBuild + README.md + + https://github.com/Aptivi/NitrocidKS.git + git + Debug;Release + AnyCPU + + + + + net8.0 + true + false + content + $(NoWarn);NU5128 + true + + + + + + + + + + + + + + + diff --git a/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json b/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json new file mode 100644 index 0000000000..728fba1e63 --- /dev/null +++ b/public/Nitrocid.Templates/templates/KSMod/.template.config/template.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Aptivi", + "classifications": [ "Library" ], + "identity": "KSMod", + "name": "Nitrocid KS Mod", + "shortName": "KSMod", + "tags": { + "language": "C#", + "type": "project" + }, + "sourceName": "KSMod", + "preferNameDirectory": true +} diff --git a/public/Nitrocid.Templates/templates/KSMod/Command.cs b/public/Nitrocid.Templates/templates/KSMod/Command.cs new file mode 100644 index 0000000000..73d46059eb --- /dev/null +++ b/public/Nitrocid.Templates/templates/KSMod/Command.cs @@ -0,0 +1,12 @@ +using Nitrocid.Shell.ShellBase.Commands; + +namespace KSMod +{ + internal class TuiCommand : BaseCommand, ICommand + { + public override int Execute(CommandParameters parameters, ref string variableValue) + { + return 0; + } + } +} diff --git a/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj b/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj new file mode 100644 index 0000000000..792fc4b0ed --- /dev/null +++ b/public/Nitrocid.Templates/templates/KSMod/KSMod.csproj @@ -0,0 +1,11 @@ + + + + net8.0 + + + + + + + diff --git a/public/Nitrocid.Templates/templates/KSMod/ModName.cs b/public/Nitrocid.Templates/templates/KSMod/ModName.cs new file mode 100644 index 0000000000..ab4316c66f --- /dev/null +++ b/public/Nitrocid.Templates/templates/KSMod/ModName.cs @@ -0,0 +1,35 @@ +using Nitrocid.Modifications; +using System; +using System.Collections.ObjectModel; +using System.Reflection; + +namespace KSMod +{ + public class ModName : IMod + { + public string Name { get; set; } = "My Mod"; + public string Version { get; set; } = "1.0.0"; + + public Version MinimumSupportedApiVersion => new(3, 0, 25, 411); + + public ReadOnlyDictionary PubliclyAvailableFunctions => null; + + public ReadOnlyDictionary PubliclyAvailableProperties => null; + + public ReadOnlyDictionary PubliclyAvailableFields => null; + + public ModLoadPriority LoadPriority => ModLoadPriority.Optional; + + public void StartMod() + { + + } + + public void StopMod() + { + + } + } +} + +// Refer to https://aptivi.github.io/Kernel-Simulator for up-to-date API documentation for mod developers.