Kodachi_Garou
31-08-2009 16:08:09
Hi all,
This is a doubt that's been around since early versions of Mogre, and which has never been fully clarified in my head. Why is it that the Wrapper base class constructor has an 'internal' modifier instead of 'public' or better-still, 'protected'?
From what I can see this effectively prevents any extensions from being compiled from outside the Mogre assembly. Is there any special restriction or issue that justifies this being so? How is the wrapping of other plugins being handled so far?
I mean, suppose I have my own Ogre plugin which inherits from an Ogre base class, which in turn inherits from CLRObject. It makes sense that if I want to wrap it to C# I have to inherit from Wrapper and make use of the same base mechanism of all other classes, but I can only do this if I compile my plugin wrapper classes from inside Mogre project.
This would break extensibility tremendously.
Am I missing something?
Best regards,
Gonçalo
This is a doubt that's been around since early versions of Mogre, and which has never been fully clarified in my head. Why is it that the Wrapper base class constructor has an 'internal' modifier instead of 'public' or better-still, 'protected'?
From what I can see this effectively prevents any extensions from being compiled from outside the Mogre assembly. Is there any special restriction or issue that justifies this being so? How is the wrapping of other plugins being handled so far?
I mean, suppose I have my own Ogre plugin which inherits from an Ogre base class, which in turn inherits from CLRObject. It makes sense that if I want to wrap it to C# I have to inherit from Wrapper and make use of the same base mechanism of all other classes, but I can only do this if I compile my plugin wrapper classes from inside Mogre project.
This would break extensibility tremendously.
Am I missing something?
Best regards,
Gonçalo