InjectFix 02 IFix使用手冊

2021-10-24 19:19:41 字數 3141 閱讀 2164

用途

​ 在補丁階段使用;原生**修復。如果發現某個函式有錯誤,就可以使用該標籤給函式打補丁,打上這個標籤的函式,童鞋們就可以隨意修改該函式。

用法​ 該標籤只能用在方法上,直接在要修改的函式上面標註一下這個標籤即可。

舉例​ 這個函式本來的意思是兩個值相加,但現在寫錯了,所以可以給該函式打上[ifix.patch]標籤,然後修改就可以了

public int add(int a,int b)

[ifix.patch]

public int add(int a,int b)

用途

​ 在補丁階段使用;新增**。在補丁階段,童鞋們還有新的需求,想新增個函式或者類,可以用[ifix.interpret]標籤實現。

用法​ 該標籤可以用在屬性,方法,型別上,直接在要新增的**上面標註一下這個標籤即可。

舉例​ 新增乙個屬性

private string name;//這個name欄位是原生的

public string name

[ifix.interpret]

get}

​ 新增乙個函式

[ifix.interpret]

public int sub(int a,int b)

​ 新增乙個類

[ifix.interpret]

public class newclass

用途

​ 在注入階段使用; 把乙個虛擬機器的類適配到原生inte***ce或者把乙個虛擬機器的函式適配到原生delegate。

​ 什麼時候需要用到呢? 用法

​ 該標籤只能用在類上,在童鞋們程式的某個地方,寫上乙個靜態類,裡面有乙個靜態字段,值就是inte***ce和delegate的型別集合

!!注意,該類不能放到editor目錄
舉例

​ 新增乙個類,該類實現了乙個介面

public inte***ce isubsystem

void print();

}[ifix.interpret]

public class subsystem : isubsystem

} public void print()

}

​ 新增函式(或者修復**[ifix.patch]的unity協程),用到了 yield return

[ifix.interpret]

public ienumerator testinte***ce()

​ 新增函式(或者修復**[ifix.patch]),賦值到乙個delegate變數

public class test 

}

[ifix.custombridge]

public static class additionalbridge

;}

用途

​ 在注入階段使用;配置類,裡面儲存的是一些注入時需要注入或過濾的東西。

用法​ 該標籤只能用在類上,該類必須在editor資料夾下 。

舉例

[configure]

public class testcfg

用途

​ 在注入階段使用;用來儲存所有你認為將來可能會需要修復的類的集合。該標籤和[ifix.patch]有關聯,因為如果發現某個函式需要修復,直接打上[ifix.patch]標籤就可以了,但是前提是,這個需要修復的函式的類必須在[ifix]下。

用法​ 該標籤只能用在屬性上,configure類中的乙個靜態屬性,get得到的是可能會需要修復的函式所有類的集合

舉例​ 認為test類裡面的函式可能會出錯,所以把它們放到[ifix]標籤下,當test類中的add函式需要修復,直接打標籤修改即可。

[configure]

public class testcfg

; }

}}public class test

}

用途

​ 在注入階段使用;用來儲存想要過濾的東西。在注入階段,凡是在[ifix]標籤下的屬性裡面的值,都會被注入適配**,但是如果不想對某個函式進行注入,可以用該標籤進行過濾。

用法​ 該標籤只能用在方法上,configure類中的乙個靜態方法。

舉例​ 覺得test類裡的函式可能會需要修復,但是test類裡面的div和mult不可能有問題,可以把這兩個函式過濾掉。

public class test

public int sub(int a,int b)

public int div(int a,int b)

public int mult(int a,int b)

}[configure]

public class testcfg

; }

}[filter]

static bool filter(system.reflection.methodinfo methodinfo)

}

標籤

使用階段

用途用法

[ifix.patch]

補丁修復函式

只能放在函式上

[ifix.interpret]

補丁新增屬性,函式,型別

放在屬性,函式,型別上

[ifix.custombridge]

注入inte***ce和delegate橋接

只能放在單獨寫乙個靜態類上,儲存虛擬機器的類適配到原生inte***ce或者虛擬機器的函式適配到原生delegate,該類不能放editor目錄

[configure]

注入配置類

只能放在單獨寫乙個存放在editor目錄下的類上

[ifix]

注入可能需要修復函式的類的集合

只能放在[configure]類的乙個靜態屬性上

[filter]

注入不想發生注入的函式

只能放在[configure]類的乙個靜態函式上

C語言I作業02

這個作業屬於哪個課程 這個作業要求在 homework 11381 這個作業的目標 向他人提問要注意什麼,對程式設計出現的問題總結,積累經驗。學號 9044 答 1 在向他人提問前,首先要自己去網路或書籍上找尋答案,自己找不到時再提問。2 注意提問的場合,在適當的場合提問。3 用精確,清晰,細緻的語...

C語言I部落格作業02

這個作業屬於那個課程 c語言程式設計i 這個作業要求在 c語言i部落格作業02 我在這個課程的目標是 掌握黑客的學習提問方法,提公升自己的學習能力,初步認識mingw w64 這個作業在那個具體方面幫助我實現目標 參考文獻 提問的智慧型 a.請仔細閱讀 提問的智慧型 用自己的話描述你的收穫,並舉例子...

C語言I部落格作業02

這個作業屬於那個課程 c語言程式設計i 這個作業要求在 班級作業要求 我在這個課程的目標是 希望通過這次作業熟練掌握溫度換算 與一些簡單的程式設計,累計更多知識點與操作時要注意的細節。這個作業在那個具體方面幫助我實現目標 學會了如何的高效提問和安裝編譯器,可以快速提示工作效率。參考文獻 c語言程式設...