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
+
+