Unity 插件推荐:SRDebugger

介绍

SRDebugger 是一款 Unity 运行时的插件,可以显示当前的硬件信息、日志、选项、性能数据。

如果只是单纯地使用日志工具,有 Unity 插件推荐:In-game Debug Console - 狂飙

SRDebugger 中我认为最重要的功能是 Options 功能,可以将代码变成 UI,用来控制功能开关、取值范围、触发操作。官网的视频展示了如何调整其中的选项。官网功能介绍中的这张截图可以很好地展示效果:

SRDebugger Options

SRDebugger 甚至还支持密码解锁功能,可以设定为每次都需要密码或只需要一次密码。

首个版本 2015-02-07 发布,最新版本是 2022-04-30 发布,一共发布了 34 个版本。

官方网站做得非常全面,简介、功能介绍、文档、版本日志等一应俱全,这也从侧面证明了插件的质量很不错。

环境

  • Unity 2019.4.32f1
  • SRDebugger 1.21.1

使用

简单方法

导入 SRDebugger 后需要将其放在游戏逻辑代码所在的 asmdef 或目录中,将 SROptions 类与游戏逻辑代码放在一起编译。SRDebugger 使用 分部类 - C# 编程指南 | Microsoft Docs 与反射来实现自动化的选项面板。官方的示例很好地展示了如何使用:

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 
public partial class SROptions { // Default Value for property 	private float _myProperty = 0.5f; // Options will be grouped by category 	[Category("My Category")] public float MyProperty { get { return _myProperty; } set { _myProperty = value; } } private float _myRangeProperty = 0f; // The NumberRange attribute will ensure that the value never leaves the range 0-10 	[NumberRange(0, 10)] 	[Category("My Category")] public float MyRangeProperty { get { return _myRangeProperty; } set { _myRangeProperty = value; } } } 

分离方法

如果需要将 SRDebugger 与游戏逻辑代码分开编译,可以使用插件提供的 Options Containers,还是按照前面的示例编写代码,然后在运行时使用 API 将选项注入到 SRDebugger 中。具体方法参考官方文档:

策略

不要依赖 SRDebugger,要做到未来删除 SRDebugger 插件时,对游戏没有任何影响。要做到这样,需要:

  1. 不使用 SROptions.Current 的 API,而是在 SROptions 类中调用游戏逻辑接口。
  2. 使用类的全局静态变量将开关暴露给插件使用。

另外,需要控制插件的可见性:

  1. 使用特殊方式开启,降低用户发现的可能性。
  2. 使用权限控制,例如当前 IP 或用户的白名单控制工具是否可用,这样即便用户发现后也不能使用。

版权声明:
作者:siwei
链接:https://www.techfm.club/p/32847.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>