Unity SRDebugger
本章要来介绍这款超好用的插件『SRDebugger』。插件支援Real-time Console,运作游戏时如果出现Bug,或是程式撰写的Debug.Log,都会出现在Console画面。另外,还有Options Tab的功能,类似游戏作弊用控制台,可以撰写类似『无限血量』、『自动跳关』等方便测试的功能,亦能输出一些重要的讯息。
SRDebugger - Console & Tools On-Device
首先,当你安装好SRDebugger插件后,他预设会自动启用,你不需要额外撰写任何的程式码。如果你想用程式码的方式决定是否开启SRDebugger也行。请在Window/SRDebugger/Settings Window
开启设定画面。
在Loading
选项中预设是Automatic
,你可以使用Prefab
或用程式码SRDebug.Init()
进行开启。这部分的操作大家自己试看看就好,本章的重点会放在撰写Options Tab上。
进入游戏后,SRDebugger的开启方式,连续点击左上角的区域3次,如下图由红色圈框起来的地方。
开启后的画面如下,会看见一些System相关的资讯。
如果程式有Exception
,或是有使用Debug.Log
的地方,都会显示在这个Console画面。
Profiler的部分则可以看见显示FPS
、Memory
的使用情形。
再来是Options的部分,由于我们现在还没有撰写任何程式码,所以会显示如下资讯『No options found in SROptions.
』。
好的,接下来开始撰写程式码吧!
Methods
首先我想增加『+100000 HP』、『+100000 MP』的按钮,也会需要一个『取消HP/MP作弊』的按钮。在SROptions中撰写按钮的方法,是宣告一个无输入参数、回传值为void
的public
方法,SROptions会自动转化为按钮。
所以,接着撰写CheatHealth
、CheatEnergy
、RevertPlayerHealthAndEnergy
等方法,这边我是透过一个自定义Game
物件统一管理与其他系统的交互事件。类似中介者模式(Mediator
)的简化版做法。
写好以后执行游戏测试,打开介面就会出现如下图的三颗按钮啦!按下去就可以作弊了。
Supported Type
除了按钮以外,我们也可以控制变数,SROptions支援Boolean
, Enum
, int
, uint
, short
, ushort
, byte
, sbyte
, float
, double
, string
。比方说我想制作一个『金钱作弊』的功能,要在SROptions中调整金钱数量,控制作弊变数有两种方式:
- 官方建议使用第一种方式。如下图,宣告变数
CheatCoin
并设定get/set
,再有需要的地方使用SROptions.Current.CheatCoin
取得即可。
- 官方不建议使用第二种方式。于get/set中使用FindObjectOfType取得指定脚本及参数,直接进行设定。
不过依照前面的例子,我的作法是在设定完cheatCoin
之后,仍旧由Game
类别来处理金钱的修改事件。
接着来测试看看,我在Options介面将金钱设定成80000。
接着打开背包介面后,发现金钱确实被更改成80000了。
OnPropertyChanged
如果有些变数在游戏中会实时变化的呢?我们可以用OnPropertyChanged
这个方法,让SRDebugger检查变数的新值。如果没有使用OnPropertyChanged
的话,则SROptions属性的更新只会在每次打开选项时才会反映出来。通过这个方法,变数的任何更新都会立即显示出来。由于我的游戏目前没有这个需求,大家就自行参考范例试看看吧。
Attributes
大家可能会觉得按钮的顺序不好,或是金钱作弊增加钮每次只能+1,又或者想要依照不同作弊类型来分类功能等等。以下跟大家介绍SROptions可以使用的Attributes
吧。如下图,我们可以在Method
或是Properties
上面使用Attributes
来达成一些功能。
Category
:分类名称DisplayName
:介面显示名称Sort
:功能排序NumberRange
:如为数字类型的变数,可设定数字范围Increment
:数字每一次增减的量
如果嫌这样分行撰写太占行数,可以使用逗号将每个Attributes
隔开并撰写于同一行中,比方
1 | [ ] |
Pinning
如果觉得每次要作弊的时候,开启SRDebugger介面很麻烦的话,也可以将作弊按钮钉选到画面上唷。开启Options后,可以看见右上角有一个图钉按钮,按下后会提示你选择要留在画面上的功能,如下图,我选择了三个功能。
关闭SRDebugger后,就能看见三颗按钮出现在右下角,我测试金钱作弊的功能后,确实可以正常使用唷!真是太方便了。
如果还想看更多参数的使用方式,SRDebugger也有提供范例文件,位置在StompyRobot/SRDebugger/Scripts/SROptions.Test.cs
最后,如果大家想要了解更多使用SRDebugger的说明的话,就请参考官方文件吧:
https://www.stompyrobot.uk/tools/srdebugger/documentation/