Inferno214221 / cmc-mod-manager

Status: Fully Functional & In Use | A mod manager for the CMC+ v8 (Crusade Modding Community Plus Version 8) build of SSBC (Super Smash Brothers Crusade). [Electron, TypeScript & React]
GNU General Public License v3.0
17 stars 1 forks source link

Refactor Character / Stage Operations To Extend A Shared Parent #11

Open Inferno214221 opened 1 month ago

Inferno214221 commented 1 month ago

Both should be defined as classes which inherit from an abstract Mod class, similar to how each dialog was refactored to extend Dialog. Although both Character and Stage operations are very similar, they also differ enough that most methods need to be adjusted in some way. To allow them the extend a shared parent, contained functions should be split into several smaller ones (Although this is something that should have already been done regardless).

Inferno214221 commented 1 month ago

After this, an additional mod type could be incorporated: Assists because they have a very similar format, although they are significantly less popular. Edit: although I haven't looked into it, apparently most of the mod formats are very similar, although with a similar situation about popularity.

Inferno214221 commented 1 month ago

Just looked into implementing this with Mod and Mod List classes but encountered a selection of issues:

It might still be possible to do this with Manager classes which utilise the existing interfaces.