Browse Source

PluginMetadata now forwards to the manifest for appropriate properties

pull/44/head
Anairkoen Schno 4 years ago
parent
commit
dbc49655f2
2 changed files with 24 additions and 33 deletions
  1. +9
    -18
      IPA.Loader/Loader/PluginMetadata.cs
  2. +15
    -15
      IPA.Loader/Loader/description.md

+ 9
- 18
IPA.Loader/Loader/PluginMetadata.cs View File

@ -35,31 +35,31 @@ namespace IPA.Loader
/// The human readable name of the plugin.
/// </summary>
/// <value>the name of the plugin</value>
public string Name { get; internal set; }
public string Name => manifest.Name;
/// <summary>
/// The BeatMods ID of the plugin, or null if it doesn't have one.
/// </summary>
/// <value>the updater ID of the plugin</value>
public string Id { get; internal set; }
public string Id => manifest.Id;
/// <summary>
/// The name of the author that wrote this plugin.
/// </summary>
/// <value>the name of the plugin's author</value>
public string Author { get; private set; }
public string Author => manifest.Author;
/// <summary>
/// The description of this plugin.
/// </summary>
/// <value>the description of the plugin</value>
public string Description { get; private set; }
public string Description => manifest.Description;
/// <summary>
/// The version of the plugin.
/// </summary>
/// <value>the version of the plugin</value>
public Version Version { get; internal set; }
public Version Version => manifest.Version;
/// <summary>
/// The file the plugin was loaded from.
@ -86,24 +86,24 @@ namespace IPA.Loader
/// The name of the resource in the plugin assembly containing the plugin's icon.
/// </summary>
/// <value>the name of the plugin's icon</value>
public string IconName { get; private set; }
public string IconName => manifest.IconPath;
/// <summary>
/// A link to this plugin's home page, if any.
/// </summary>
/// <value>the <see cref="Uri"/> of the plugin's home page</value>
public Uri PluginHomeLink { get; private set; }
public Uri PluginHomeLink => manifest.Links?.ProjectHome;
/// <summary>
/// A link to this plugin's source code, if avaliable.
/// </summary>
/// <value>the <see cref="Uri"/> of the plugin's source code</value>
public Uri PluginSourceLink { get; private set; }
public Uri PluginSourceLink => manifest.Links?.ProjectSource;
/// <summary>
/// A link to a donate page for the author of this plugin, if avaliable.
/// </summary>
/// <value>the <see cref="Uri"/> of the author's donate page</value>
public Uri DonateLink { get; private set; }
public Uri DonateLink => manifest.Links?.Donate;
internal bool IsSelf;
@ -124,15 +124,6 @@ namespace IPA.Loader
set
{
manifest = value;
Name = value.Name;
Version = value.Version;
Id = value.Id;
Description = value.Description;
Author = value.Author;
IconName = value.IconPath;
PluginHomeLink = value.Links?.ProjectHome;
PluginSourceLink = value.Links?.ProjectSource;
DonateLink = value.Links?.Donate;
AssociatedFiles = value.Files
.Select(f => Path.Combine(UnityGame.InstallPath, f))
.Select(p => new FileInfo(p)).ToList();


+ 15
- 15
IPA.Loader/Loader/description.md View File

@ -1,16 +1,16 @@
BSIPA
=====
BSIPA is a mod loader based off of [Illusion Plugin Architecture](https://github.com/russianGecko/IPA-Reloaded), designed for Beat Saber.
While it retains backwards compatability, the recommended interface has been completely redesigned for a more consistent and stable installation.
Taking some inspiration from mod injectors like [BepInEx](https://github.com/BepInEx/BepInEx), it uses a fork of [Unity Doorstop](https://github.com/NeighTools/UnityDoorstop)
to actually inject itself into the game.
***
The particular method of injection that BSIPA uses lets its user experience be far nicer than most others, not requiring a repatch for every game update.
With updating the game being seamless, it also makes sense to make updating the mods themselves seamless. BSIPA's internal updater will automatically ask [BeatMods](https://beatmods.com/)
for newer versions of your installed mods. Of course, this is configurable either in the config at `UserData\Beat Saber IPA.json` or with the Mod List, which lets you control the process
BSIPA
=====
BSIPA is a mod loader based off of [Illusion Plugin Architecture](https://github.com/russianGecko/IPA-Reloaded), designed for Beat Saber.
While it retains backwards compatability, the recommended interface has been completely redesigned for a more consistent and stable installation.
Taking some inspiration from mod injectors like [BepInEx](https://github.com/BepInEx/BepInEx), it uses a fork of [Unity Doorstop](https://github.com/NeighTools/UnityDoorstop)
to actually inject itself into the game.
****
The particular method of injection that BSIPA uses lets its user experience be far nicer than most others, not requiring a repatch for every game update.
With updating the game being seamless, it also makes sense to make updating the mods themselves seamless. BSIPA's internal updater will automatically ask [BeatMods](https://beatmods.com/)
for newer versions of your installed mods. Of course, this is configurable either in the config at `UserData\Beat Saber IPA.json` or with the Mod List, which lets you control the process
to a greater extend than even the configs.

Loading…
Cancel
Save