partial ui for mods

This commit is contained in:
MathieuG-P
2022-09-23 17:07:45 +02:00
parent 7c2309c620
commit fbb2eca661
16 changed files with 349 additions and 115 deletions
+14
View File
@@ -0,0 +1,14 @@
import { ipcMain } from "electron";
import { BsModsManagerService } from "../services/mods/bs-mods-manager.service";
import { UtilsService } from "../services/utils.service";
import { BSVersion } from "shared/bs-version.interface";
import { IpcRequest } from "shared/models/ipc";
ipcMain.on("get-available-mods", (event, request: IpcRequest<BSVersion>) => {
const utils = UtilsService.getInstance();
const modsManager = BsModsManagerService.getInstance();
modsManager.getAvailableMods(request.args).then(mods => {
utils.ipcSend(request.responceChannel, {success: true, data: mods});
}).catch(() => utils.ipcSend(request.responceChannel, {success: false}));
});
+1
View File
@@ -7,3 +7,4 @@ import './map-ipcs';
import './supporters-ipcs';
import './launcher-ipcs';
import './window-manager-ipcs';
import './bs-mods-ipcs';
@@ -1,6 +1,6 @@
import { BSVersion } from "shared/bs-version.interface";
import { Mod } from "shared/models/mods/mod.interface";
import { RequestService } from "./request.service";
import { RequestService } from "../request.service";
export class BeatModsApiService {
@@ -0,0 +1,40 @@
import { BSVersion } from "shared/bs-version.interface";
import { Mod } from "shared/models/mods/mod.interface";import { BeatModsApiService } from "./beat-mods-api.service";
;
export class BsModsManagerService {
private static instance: BsModsManagerService;
private beatModsApi: BeatModsApiService;
public static getInstance(): BsModsManagerService{
if(!BsModsManagerService.instance){ BsModsManagerService.instance = new BsModsManagerService(); }
return BsModsManagerService.instance;
}
private constructor(){
this.beatModsApi = BeatModsApiService.getInstance();
}
public getAvailableMods(version: BSVersion): Promise<Mod[]>{
return this.beatModsApi.getVersionMods(version);
}
public getInstalledMods(version: BSVersion): Promise<Mod[]>{
throw "NOT IMPLEMENTED YET";
}
public installMods(mods: Mod[], version: BSVersion){
throw "NOT IMPLEMENTED YET";
}
public uninstallMods(mods: Mod[], version: BSVersion){
throw "NOT IMPLEMENTED YET";
}
public isModsAvailable(version: BSVersion): Promise<boolean>{
throw "NOT IMPLEMENTED YET";
}
}