-
Notifications
You must be signed in to change notification settings - Fork 14
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
RFC: Slight change to Mixin class naming scheme #399
Comments
Is there a need to continue with two versions |
They could be consolidated but I would prefer to keep them so that there is a clear distinction between mixins that modify or enhance So as the mixins stand, combining would leave us with the following classes:
There is also the possibility of removing |
I'm cool with whatever you think is the best approach. |
Just five of my scripts use |
The current naming scheme for mixin classes is as follows:
FCM*
- ModifiedFC*
classes that retain backwards compatibility with the underlying classFCX*
- Customised classes with no resrictions or requirement for backwards compatibilityNow that the mixin codebase has been expanding and it has seen use in actual scripts, it seems to me that maintaining backwards compatibility in
FCM*
classes is turning out to be more of a headache than anything else.It's impacting on code organisation, with code having to be split up between related
FCM*
andFCX*
classes for no tangible benefit that I can see (egFCMCustomLuaWindow
andFCXCustomLuaWindow
orFCMCtrlStatic
andFCMCtrlStatic
). This splitting up is also leading to unnecessary code duplication and I can only see this becoming more of a problem as more mixins are written and more RGPLua features are added.I think that having that backwards compatibility is to a degree an illusion, since the mixin library facilitates unlimited modification anyway.
So I'm proposing that we embrace this and remove the requirement for strict backwards compatibility, so that small things like inserting the window object as the first argument to a handler don't necessitate creating a whole new class.
The text was updated successfully, but these errors were encountered: