日期:2014-05-17  浏览次数:20756 次

[C#] 利用部分方法添加调试代码

编写游戏代码的时候经常需要在开发过程中多写一些调试代码,这些代码到了游戏发布期有要都注释掉或者删除掉,一不留神残余代码还会对游戏发布版本的效率造成负面影响。这样就需要找一种有效手段来控制这样的代码。

利用C#的部分类和部分方法就可以将调试代码单独独立成代码文件,而且发布期只需要把这些独立出来的代码文件屏蔽掉,原始代码中调用的部分自动就会被编译器忽略,而发布过程结束后,将屏蔽解除掉,便有可以进入下一个开发周期,完全不用手动调整代码。

例如:

发布代码中只处理触摸输入,但是调试期需要以鼠标代替触摸,这样的情况下,只需要将处理鼠标输入的代码写入部分方法中,然后在处理输入的主逻辑下调用此部分方法即可。

(PauseButton.cs)

public partial class PauseButton : TouchableController
{
    void Update()
    {
        // ...handle touch input
        CheckMouseInput();
    }
    partial void CheckMouseInput();
}// main class end

(PauseButton_Debug.cs)

public partial class PauseButton
{
    partial void CheckMouseInput()
    {
        // ...handle mouse input
    }
}// partial class end

上面的代码,在发布期只需要将PauseButton_Debug.cs屏蔽即可。

不过有几点需要注意:

1、部分类如果有命名空间,那么需要确保类的各个部分都定义在同一个命名空间内。

2、部分方法只能是私有的,而且不能加访问修饰符,因此部分方法的功能只能局限在当前类定义内。