Open Deaadman opened 10 months ago
Were you able to figure it out?
I suspect this scenario just isn't currently supported. Everything surrounding inheritance and virtual methods is complicated.
Were you able to figure it out?
I suspect this scenario just isn't currently supported. Everything surrounding inheritance and virtual methods is complicated.
Unfortunately not, like you said I don't think this specific scenario is supported. You can see what I did as a workaround here - but it doesn't actually register this panel as a proper one, so using methods such as InterfaceManager.GetPanel<>()
can't find this new panel I've created.
I'm planning on doing a 1.4.6
release soon. It'll include #124, any improvements implemented since 1.4.5
, and possibly some additional unstripping improvements. I expect this will be part of the next MelonLoader hotfix.
After that's released, I want to focus on reworking the type system, which would include resolving this issue. I plan for the rewrite to be released slightly before the next big MelonLoader update, which I suspect will happen around November.
Sounds good! Being able to inherit off Hinterlands classes would be a major help when it comes to UI work, and potentially other stuff that I haven't gotten into. Maybe weather types too?
Who knows, but I appreciate it regardless!
I was developing a mod for The Long Dark, trying to create a derived class from within the game. The code snippet goes like this:
The issue I'm facing is with the override void methods. The Panel_Base class which the Panel_AutoReferenced class also inherits isn't abstract. The Initialized override method could be getting called from the virtual void method within the Panel_Base class to initialize this new panel. But it isn't, and whenever I try to call my Initialize method manually - a recursion occurs.
Unless I've missed something, or it's not working because I don't know how to code - this might be an error with this project.