Switch-Toolbox/Switch_FileFormatsMain/Main.cs

133 lines
3.5 KiB
C#
Raw Normal View History

2018-11-12 01:51:12 +00:00
using PluginContracts;
using System;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using Switch_Toolbox.Library;
using Switch_Toolbox.Library.Forms;
namespace FirstPlugin
{
public class FirstPlugin : IPlugin
{
private static FirstPlugin _instance;
public static FirstPlugin Instance { get { return _instance == null ? _instance = new FirstPlugin() : _instance; } }
public static string executableDir;
#region IPlugin Members
private string name;
public string Name
{
get
{
2018-11-17 22:33:00 +00:00
return "First Plugin";
2018-11-12 01:51:12 +00:00
}
set
{
this.Name = value;
}
}
private string author;
public string Author
{
get
{
return "KXG";
}
set
{
this.name = value;
}
}
public string Description
{
get
{
return "A cool plugin";
}
}
public string Version
{
get
{
return "1.0";
}
}
public Type[] Types
{
get
{
List<Type> types = new List<Type>();
foreach (Type T in LoadFileFormats())
types.Add(T);
foreach (Type T in LoadMenus())
types.Add(T);
return types.ToArray();
}
}
public void Load()
{
Config.StartupFromFile("Lib/Plugins/config.xml");
}
public void Unload()
{
PluginRuntime.bntxContainers.Clear();
}
class OdysseyCostumeSelectorMenu : IMenuExtension
{
public ToolStripItemDark[] FileMenuExtensions => null;
public ToolStripItemDark[] ToolsMenuExtensions => toolsExt;
public ToolStripItemDark[] TitleBarExtensions => null;
readonly ToolStripItemDark[] toolsExt = new ToolStripItemDark[1];
public OdysseyCostumeSelectorMenu()
{
toolsExt[0] = new ToolStripItemDark("Odyssey Costume Selctor");
toolsExt[0].Click += OpenSelector;
}
private void OpenSelector(object sender, EventArgs args)
{
}
}
private Type[] LoadMenus()
{
List<Type> MenuItems = new List<Type>();
MenuItems.Add(typeof(OdysseyCostumeSelectorMenu));
return MenuItems.ToArray();
}
private Type[] LoadFileFormats()
{
List<Type> Formats = new List<Type>();
Formats.Add(typeof(SARC));
Formats.Add(typeof(BFRES));
Formats.Add(typeof(BNTX));
Formats.Add(typeof(BEA));
Formats.Add(typeof(BYAML));
2018-11-17 22:33:00 +00:00
Formats.Add(typeof(XTX));
2018-11-12 01:51:12 +00:00
Formats.Add(typeof(KCL));
Formats.Add(typeof(BFFNT));
2018-11-17 22:33:00 +00:00
Formats.Add(typeof(MSBT));
2018-11-12 01:51:12 +00:00
Formats.Add(typeof(BFSAR));
Formats.Add(typeof(BARS));
2018-11-17 22:33:00 +00:00
Formats.Add(typeof(BFLAN));
Formats.Add(typeof(BFLYT));
Formats.Add(typeof(CsvModel));
2018-11-12 01:51:12 +00:00
Formats.Add(typeof(GFPAK));
Formats.Add(typeof(NUTEXB));
2018-12-02 22:30:46 +00:00
Formats.Add(typeof(GTXFile));
2018-11-12 01:51:12 +00:00
return Formats.ToArray();
}
#endregion
}
}