Skip to content
Eronan edited this page Sep 15, 2022 · 4 revisions

IGamePlugIn combines all the Data for a Game Plug-In.

Definition

Type: Interface
Namespace: IGamePlugInBase
Assembly: IGamePlugInBase.dll

Properties

These are used by Applications to grab details and information from your inherited Class.

Property Name Type Description
Name string A Short Name for your Game. This is used for saving Deck Files.
Long Name string A Long Name for your Game. This is displayed to the user via the Load Plug-In.
IconImage byte[] The Image that shows up when the user is selecting a Plug-In to Open.
AboutInformation string Text that tells the user about the Plug-In. Should also specify where new releases can be found.
Formats IEnumerable<IFormat> A List of Game Formats that the Game Plug-In Supports. An example would be Standard or Commander in Magic the Gathering.
Downloader IDownloader? Optional, can be set to null. It specifies what Files need to be downloaded, and the URL which users can open up to Download the Plug-In.
ImportMenus IEnumerable<IImportMenuItem> A List of Import Functions that allows the Application to Open another File Format.
ExportMenus IEnumerable<IExportMenuItem> A List of Export Functions that allows the Application to Save to other File Formats.

General Standards

  • You should only have 1 Class that interfaces IGamePlugIn per Assembly (DLL). As your Assembly should only support 1 Game.
  • Image Icons can be defined as Resources for the DLL or loaded from a Relative Path but must be loaded into a Byte Array. Having it defined in Resources is recommended as your user will need to download less files overall.
  • All Formats in the Format List should be defined and working completely before a full or public release.