我在Unity中使用第三方库Google VR。 在这一LIB的一个C#-source文件,添加静态方法调用一类为LibClass是这样的:是否有可能重写第三方库中的方法?
void onPrerender() {
MyOwnClass.staticMethod();
(continue with original method call...)
}
但每次我更新库,调用MyOwnClass.staticMethod()丢失,我必须手动重新添加它。 我不能继承LibClass,因为库总是调用LibClass而不是LibSubClass。 有没有办法以编程方式将调用添加到LibClass的staticMethod()?或者其他方式?
编辑: 我被要求说明问题更好:
OnPreRender是MonoBehaviour类统一的方法。 在渲染相机图像之前调用此方法。 我的问题是我需要Google VR,它为每只眼睛处理两个单独的相机,以绘制其中一个相机图像稍微不同的相机图像。 由于OnPreRender是为每个摄像头调用的,因此我使用它作为在我自己的类中调用静态方法的入口点(因为这种方式我不必在Google VR类中实例化自己的类)。
现在很多月都可以正常工作,但Google VR库不断更新,每次我这样做时,调用我自己的类的方法都会丢失。
所以我想知道是否有可能通过编程的方式说“你在那里,在外部类中的OnPreRender(),当你被图书馆调用时,跳过这里,做一些额外的工作。 这有道理吗?
这是不可能随时随地覆盖任何'static'方法。你需要做的是[在这里解释你的真正目标](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - *你为什么要调用MyOwnClass.staticMethod()在onPrerender?* - 我们可以通过改变图书馆来帮助您解决您试图解决的问题。 –
亲爱的爱德,我试着解释我的真正目标。那个更好吗? – user1840267
感谢您的更新。这确实有道理。如果我是你,我会用[tag:Unity]来标记这个。 –