-
-
Notifications
You must be signed in to change notification settings - Fork 74
Implement Plugin System for Adding Support for Third-Party (Non-miHoYo) Titles #752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Now the default values assignment only happens if correction is needed
As of the CoreLib do we want to include Discord RPC as well, tho it might need quite a adjustment to detach the currently hardcoded Discord IDs to metadata or separate configs location for per-game RPCs. |
I believe that for Discord RPC, we can probably do something along the lines of just showing a generic "Playing a custom game" to avoid having to implement custom IDs on our end. The alternative would be to have the plugin developer provide their own ID through the plugin configuration interface/code that we expose and display a generic message if that feature is not used. |
We can re-use the managed code part for Discord integration. The IDs for the Discord Presence will be provided by the plugin, stored in IPluginPresetConfig instance. If it's null, then tell the managed code to disable Discord Presence for that certain game. |
using System; | ||
using System.Diagnostics.CodeAnalysis; | ||
using System.IO; | ||
using System.Runtime.CompilerServices; | ||
using System.Runtime.InteropServices; |
Check warning
Code scanning / QDNET
Redundant using directive Warning
.GetAwaiter() | ||
.GetResult(); | ||
|
||
if (resolvedIpAddresses == null || resolvedIpAddresses.Length == 0) |
Check warning
Code scanning / QDNET
Expression is always 'true' or 'false' according to nullable reference types' annotations Warning
100% reviewed source file: 'en_US.json' on 'zh_CN'.
100% reviewed source file: 'en_US.json' on 'ja_JP'.
%AppData%\..\LocalLow\CollapseLauncher\_plugins
|
@@ -1,9 +1,12 @@ | |||
using CollapseLauncher.Helper.Metadata; | |||
using Hi3Helper; | |||
using Hi3Helper.Data; | |||
using Hi3Helper.Plugin.Core.Management; |
Check warning
Code scanning / QDNET
Redundant using directive Warning
using System; | ||
using System.Diagnostics.CodeAnalysis; | ||
using System.IO; | ||
using System.Runtime.CompilerServices; |
Check warning
Code scanning / QDNET
Redundant using directive Warning
Main Goal
As per title says, this PR implements a Plugin System for Collapse Launcher, which will bring supports for any third-party (non-miHoYo) games.
This PR is still heavily in-development and in its state, is not yet ready to be implemented into Collapse Launcher's main repository. Though, the core library component is currently in the works.
First-Party Game Support Targets (by Collapse Project Team)
Heaven Burns Red (Plugin Maintainer: @neon-nyan) (In-progress)
Wuthering Waves (Plugin Maintainer: @Cryotechnic) (Pending)
Implementation Progress Tracking
Core Library
Collapse Launcher
RuntimeMarshalling
GitHub
Websites (main & status)
PR Status :
Templates
Changelog Prefixes