[ENHANCEMENT] The BaseFileSystem class#449
Conversation
f7fb14a to
72c6913
Compare
|
This is a great idea. This wasn't done earlier because the previous iteration of FileSystem had no shared functions, but the new one does, so this change is helpful. |
|
I'm keeping this a draft until I figure out why this is breaking mods with the internal code for Funkin'. Oddly, with the public one it works completely fine. Meanwhile, I've been thinking the name |
|
How is it breaking Funkin'? |
Mods are recognized by the game, but they aren't being able to add any songs, characters or scripts. |
BaseFileSystem classFileSystemBase class
be590b8 to
af39bff
Compare
|
Fixed it! It turned out to me a very silly oversight on my part. |
7472ca9 to
d3cf652
Compare
EliteMasterEric
left a comment
There was a problem hiding this comment.
Aside from the merge conflict present here, I'd recommend renaming the class to BaseFileSystem to match the other class names. Additionally, since every file system implements it anyway, we could probably remove IFileSystem entirely at some point, although that is a breaking change.
FileSystemBase classBaseFileSystem class
d3cf652 to
80547fc
Compare
This PR adds a base class for file systems to extend, providing shared implementations of methods.
It is an abstract class, meaning it cannot be instantiated directly; therefore, it can only be extended by other classes.
Since most functions have an implementation provided by this class, it makes it easier to make changes to existing FileSystems, reducing the chances of human error or the need to copy-and-paste code.