我在Unity中使用第三方库Google VR。 在该lib的一个C#-source文件中,我向类LibClass添加一个静态方法调用,如下所示:
void onPrerender() {
MyOwnClass.staticMethod();
(continue with original method call...)
}
但每次更新库时,对MyOwnClass.staticMethod()的调用都会丢失,我必须手动重新添加它。 我不能子类化LibClass,因为库总是调用LibClass而不是LibSubClass。 有没有办法以编程方式将对staticMethod()的调用添加到LibClass?或者其他任何方式?
编辑: 我被要求更好地描述问题:
OnPreRender是Unity的MonoBehavi类的一种方法。 在渲染摄像机图像之前调用此方法。 我的问题是我需要谷歌VR,它为每只眼睛处理2个独立的摄像头,以绘制一个与另一个略有不同的摄像头图像。 由于为每个摄像头调用了OnPreRender,我使用它作为在我自己的类中调用静态方法的入口点(静态只是因为我不必在Google VRs类中实例化我自己的类)。
现在可以正常使用好几个月,但Google VR lib会不断更新,每次我这样做时,对我自己的类的方法调用都会丢失。
所以我想知道,当你被图书馆调用时,可以通过编程方式说“你在那里,OnPreRender()”,跳过这里并做一些额外的工作。 这有意义吗?
答案 0 :(得分:0)
您可以尝试使用扩展方法。请记住,这项工作仅适用于对象函数的静态调用。