Unity里包裹Debug,且不影响Debug的重定向
Debug.Log, Debug.LogWarning, Debug.LogError在project中常常须要再包裹一层。做些定制。也方便开关Log。但有一个问题时。当用一个类将Debug包裹起来后,Console里的Log双击后,跳到的是你自己写的类的实现,而不是Log的记录处。
为此纠结了一段时间,后来偶然看到一篇日志里有写这个问题。
http://www.xuanyusong.com/archives/2782,将包裹Debug的类做成dll导入到project里。就能够非常方便地使用,双击后会直接跳到写日志的地方。
日志里并没有写这个解决方式是怎么来的,作者自己说是瞎蒙的…… 我想了想,应该是类已经塞进了.dll。双击Console里的Log也就无法跳到.dll里的类了,于是就跳到了另外的Default的位置:日志的记录处。
日志里作者做的.dll是在Mac平台下,一行脚本搞定。在Windows下,能够新建一个Class Library的project,将那个包裹Debug的类放进去。依据须要导入对应的UnityEngine.dll。
须要特别注意的是。project的设置可能须要改一改,Unity的适配projectTarget framework须要为Unity3.5 .ne full/Subset Base Class Libararies.
设置OK了,直接Rebuild,Debug版本号和Release版本号的.dll都可用。
直接放入Unityproject的Assets文件夹下的任何位置,建议放在Plugins文件夹里。