diff --git a/SamplePlugin/LangRes/FeatureNames.Designer.cs b/SamplePlugin/LangRes/FeatureNames.Designer.cs new file mode 100644 index 0000000..30c99ed --- /dev/null +++ b/SamplePlugin/LangRes/FeatureNames.Designer.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace SamplePlugin.LangRes { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class FeatureNames { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal FeatureNames() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SamplePlugin.LangRes.FeatureNames", typeof(FeatureNames).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Sample Function ähnelt. + /// + internal static string SampleFunction { + get { + return ResourceManager.GetString("SampleFunction", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Sample Module ähnelt. + /// + internal static string SampleModule { + get { + return ResourceManager.GetString("SampleModule", resourceCulture); + } + } + } +} diff --git a/SamplePlugin/LangRes/FeatureNames.resx b/SamplePlugin/LangRes/FeatureNames.resx new file mode 100644 index 0000000..0f5ff90 --- /dev/null +++ b/SamplePlugin/LangRes/FeatureNames.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Sample Function + + + Sample Module + + \ No newline at end of file diff --git a/SamplePlugin/LangRes/SampleFunctionLangRes.Designer.cs b/SamplePlugin/LangRes/SampleFunctionLangRes.Designer.cs new file mode 100644 index 0000000..eed13a2 --- /dev/null +++ b/SamplePlugin/LangRes/SampleFunctionLangRes.Designer.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace SamplePlugin.LangRes { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class SampleFunctionLangRes { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal SampleFunctionLangRes() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SamplePlugin.LangRes.SampleFunctionLangRes", typeof(SampleFunctionLangRes).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die The game name of the current rom file is: {0} ähnelt. + /// + internal static string MsgBox_GameName { + get { + return ResourceManager.GetString("MsgBox_GameName", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Game name ähnelt. + /// + internal static string MsgBox_GameName_Title { + get { + return ResourceManager.GetString("MsgBox_GameName_Title", resourceCulture); + } + } + } +} diff --git a/SamplePlugin/LangRes/SampleFunctionLangRes.resx b/SamplePlugin/LangRes/SampleFunctionLangRes.resx new file mode 100644 index 0000000..c3a6cc0 --- /dev/null +++ b/SamplePlugin/LangRes/SampleFunctionLangRes.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + The game name of the current rom file is: {0} + + + Game name + + \ No newline at end of file diff --git a/SamplePlugin/Plugin.cs b/SamplePlugin/Plugin.cs index a651c02..90a6aae 100644 --- a/SamplePlugin/Plugin.cs +++ b/SamplePlugin/Plugin.cs @@ -7,10 +7,17 @@ namespace SamplePlugin { public string Name => "Sample Plugin"; + public string ID => "Pilzinsel64.SamplePlugin"; + public Plugin() { // Register all features PluginFeatureController.Instance.RegisterAllOwn(); } + + public object? GetApi() + { + return null; + } } } diff --git a/SamplePlugin/SampleFunction.cs b/SamplePlugin/SampleFunction.cs index f539792..a7923d5 100644 --- a/SamplePlugin/SampleFunction.cs +++ b/SamplePlugin/SampleFunction.cs @@ -1,9 +1,8 @@ using Pilz.Plugins.Advanced; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using SamplePlugin.LangRes; +using SM64RomManager.Controllers; +using SM64RomManager.Core; +using Telerik.WinControls; namespace SamplePlugin { @@ -11,13 +10,15 @@ namespace SamplePlugin { public static SampleFunction Instance { get; } = new(); - public SampleFunction() : base() + public SampleFunction() : base(MainFeatureTypes.MainForm_More, "pilzinsel64.simpleplugin.samplefunction", FeatureNames.SampleFunction) { } protected override object? ExecuteFunction(PluginFunctionParameter? @params) { - throw new NotImplementedException(); + if (MainController.Instance.RomManager != null) + RadMessageBox.Show(string.Format(SampleFunctionLangRes.MsgBox_GameName, MainController.Instance.RomManager.GameName), SampleFunctionLangRes.MsgBox_GameName_Title, MessageBoxButtons.OK, RadMessageIcon.Info); + return null; } } } diff --git a/SamplePlugin/SampleModule.cs b/SamplePlugin/SampleModule.cs index a2e1ea9..16c9a50 100644 --- a/SamplePlugin/SampleModule.cs +++ b/SamplePlugin/SampleModule.cs @@ -1,11 +1,7 @@ using Pilz.Plugins.Advanced; using Pilz.Plugins.Advanced.UI.Telerik; -using SM64RomManager.Main; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using SamplePlugin.LangRes; +using SM64RomManager.Core; namespace SamplePlugin { @@ -13,13 +9,13 @@ namespace SamplePlugin { public static SampleModule Instance { get; } = new(); - public SampleModule() : base() + public SampleModule() : base(MainFeatureTypes.MainForm_More, "pilzinsel64.simpleplugin.samplemodule", FeatureNames.SampleModule) { } protected override PluginModuleUI CreateNewUI() { - throw new NotImplementedException(); + return new SampleModuleUI(); } } } diff --git a/SamplePlugin/SampleModuleUI.Designer.cs b/SamplePlugin/SampleModuleUI.Designer.cs new file mode 100644 index 0000000..90d1dee --- /dev/null +++ b/SamplePlugin/SampleModuleUI.Designer.cs @@ -0,0 +1,37 @@ +namespace SamplePlugin +{ + partial class SampleModuleUI + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Komponenten-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/SamplePlugin/SampleModuleUI.cs b/SamplePlugin/SampleModuleUI.cs new file mode 100644 index 0000000..e6025cd --- /dev/null +++ b/SamplePlugin/SampleModuleUI.cs @@ -0,0 +1,17 @@ +using Pilz.Plugins.Advanced.UI.Telerik; + +namespace SamplePlugin +{ + public partial class SampleModuleUI : PluginModuleUI + { + public SampleModuleUI() + { + InitializeComponent(); + } + + public override void LoadContent() + { + base.LoadContent(); + } + } +} diff --git a/SamplePlugin/SamplePlugin.csproj b/SamplePlugin/SamplePlugin.csproj index 6b47092..b69191f 100644 --- a/SamplePlugin/SamplePlugin.csproj +++ b/SamplePlugin/SamplePlugin.csproj @@ -10,6 +10,7 @@ x86 enable enable + true false false @@ -39,5 +40,29 @@ + + + + True + True + FeatureNames.resx + + + True + True + SampleFunctionLangRes.resx + + + + + + ResXFileCodeGenerator + FeatureNames.Designer.cs + + + ResXFileCodeGenerator + SampleFunctionLangRes.Designer.cs + +