編寫游戲代碼的時候經常需要在開發過程中多寫一些調試代碼,這些代碼到了游戲發布期有要都注釋掉或者刪除掉,一不留神殘余代碼還會對游戲發布版本的效率造成負面影響。這樣就需要找一種有效手段來控制這樣的代碼。 利用C#的部分類和部分方法就可以將調試代碼單獨獨立成代碼文件,而且發布期只需要把這些獨立出來的代碼文件屏蔽掉,原始代碼中調用的部分自動就會被編譯器忽略,而發布過程結束後,將屏蔽解除掉,便有可以進入下一個開發周期,完全不用手動調整代碼。 例如: 發布代碼中只處理觸摸輸入,但是調試期需要以鼠標代替觸摸,這樣的情況下,只需要將處理鼠標輸入的代碼寫入部分方法中,然後在處理輸入的主邏輯下調用此部分方法即可。 (PauseButton.cs)
public partial class PauseButton : TouchableController { void Update() { // ...handle touch input CheckMouseInput(); } partial void CheckMouseInput(); }// main class end (PauseButton_Debug.cs) [csharp] view plaincopy public partial class PauseButton { partial void CheckMouseInput() { // ...handle mouse input } }// partial class end
上面的代碼,在發布期只需要將PauseButton_Debug.cs屏蔽即可。 不過有幾點需要注意: 1、部分類如果有命名空間,那麼需要確保類的各個部分都定義在同一個命名空間內。 2、部分方法只能是私有的,而且不能加訪問修飾符,因此部分方法的功能只能局限在當前類定義內。