我在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]來標記這個。 –