文档章节

Unity Debug拓展

沐风歌
 沐风歌
发布于 2017/02/17 11:31
字数 574
阅读 28
收藏 0

 

简述

在特殊环境下,Debug不能满足要求,所以,写了一个简单的Debug拓展,留作备份。

用法

在vs中打包成dll文件,放入Unity中即可

详细代码

using System;
using System.Text;
using UnityEngine;

namespace LDll
{
    /// <summary>
    /// Log 的等级,用于控制显示什么级别的日志 
    /// </summary>
    public enum Log
    {
        /// <summary>
        /// 普通打印格式
        /// </summary>
        Normal = 0,
        /// <summary>
        /// 警告打印格式
        /// </summary>
        Warning = 1,
        /// <summary>
        /// 错误信息打印格式 
        /// </summary>
        Error = 2,
    }

    /// <summary>
    /// <para>Unity Debug 扩展类,支持时间、颜色打印 </para>
    /// </summary>
    public class LDebug
    {
        /// <summary>
        /// 显示时间
        /// </summary>
        public static bool ShowTime = true;

        /// <summary>
        /// 是否记录到文件中 
        /// </summary>
        public static bool isRecordToFile = false;

        private static string GetCurrentTime
        {
            get { return DateTime.Now.ToString("[HH:mm:ss]: "); }
        }

        private static string GetDebugFormat()
        {
            StringBuilder str = new StringBuilder();

            if (ShowTime)
            {
                str.Append(DateTime.Now.ToString("[HH:mm:ss]"));
            }
            str.Append(": ");

            return str.ToString();
        }

        /// <summary>
        /// 日志打印
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void Log(string str)
        {
            LogShow(LDll.Log.Normal, "white", str);
        }

        /// <summary>
        /// 日志打印
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void Log(string format, params object[] args)
        {
            LogShow(LDll.Log.Normal, "white", string.Format(format, args));
        }

        /// <summary>
        /// 警告日志显示
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void LogWarning(string str)
        {
            LogShow(LDll.Log.Warning, "yellow", str);
        }

        /// <summary>
        /// 警告日志显示
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogWarning(string format, params object[] args)
        {
            LogShow(LDll.Log.Warning, "yellow", string.Format(format, args));
        }

        /// <summary>
        /// 错误日志显示
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void LogError(string str)
        {
            LogShow(LDll.Log.Error, "red", str);
        }

        /// <summary>
        /// 错误日志显示
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogError(string format, params object[] args)
        {
            LogShow(LDll.Log.Error, "red", string.Format(format, args));
        }

        /// <summary>
        /// 自定义显示格式
        /// </summary>
        /// <param name="log">日志级别</param>
        /// <param name="color">日志颜色代码,不支持自定义,可去查看Unity支持的富文本颜色代码 </param>
        /// <param name="str">日志内容</param>
        public static void LogCustom(Log log, string color, string str)
        {
            LogShow(log, color, str);
        }

        /// <summary>
        /// 自定义显示格式
        /// </summary>
        /// <param name="log">日志级别</param>
        /// <param name="color">日志颜色代码,不支持自定义,可去查看Unity支持的富文本颜色代码 </param>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogCustom(Log log, string color, string format, params object[] args)
        {
            LogShow(log, color, string.Format(format, args));
        }

        private static void LogShow(Log log, string color, string str)
        {
            string tempstr = string.Format("{0}<color={1}>{2}</color>", GetCurrentTime, color, str);
            switch (log)
            {
                case LDll.Log.Normal:
                    Debug.Log(tempstr);
                    break;
                case LDll.Log.Warning:
                    Debug.LogWarning(tempstr);
                    break;
                case LDll.Log.Error:
                    Debug.LogError(tempstr);
                    break;
            }
        }
    }
}

© 著作权归作者所有

沐风歌

沐风歌

粉丝 0
博文 5
码字总数 1914
作品 0
成都
私信 提问
解决JNI在Windows环境下因长路径导致编译失败问题

之前听一个朋友反馈LuaScriptoCore在Windows下编译会报错,今天特意跑到Windows环境下测试了一番,果然是存在问题。得到了下面的编译报错信息: Build command failed. Error while executin...

杰嗒嗒的阿杰
2018/05/04
0
0
Visual Studio Tools for Unity 2.3 发布

Visual Studio Tools for Unity 2.3 发布,Visual Studio Tools for Unity (VSTU)是 Visual Studio的 Unity 插件,可以使用 Visual Studio 构建 Unity 游戏。 VSTU 2.3 值得关注的更新: ......

oschina
2016/07/15
2.4K
7
Unity 使用VisualStuido将C#脚本封装打包DLL使用

为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下 创建项目,注意选择Net Framework版本,过高Unity无法支持 添加在脚本中使用的unity引用,在封装的脚本...

su9257_海澜
2017/12/23
0
0
HoloLens开发——C++ DLL封装及在win32、Unity、AR眼镜中调用情况

一、C++ Dll基础了解 动态链接库(dll)比较好的介绍在孙鑫《VC++深入详解》第十九章动态链接库中有详细介绍。主要涉及以下问题: 1.静态链接库与动态链接库的区别 https://blog.csdn.net/za...

haitianyunlan
2018/05/09
0
0
Unity 3D与Android Studio安卓交互之-导出jar包

u3d与安卓 jar 包交互 Chinar 教程效果: import android.support.v7.app.AppCompatActivity;import android.os.Bundle; import com.unity3d.player.UnityPlayer;import com.unity3d.player.......

chinar-yunxi
2018/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JWT学习总结

官方 https://jwt.io 英文原版 https://www.ietf.org/rfc/rfc7519.txt 或 https://tools.ietf.org/html/rfc7519 中文翻译 https://www.jianshu.com/p/10f5161dd9df 1. 概述 JSON Web Token(......

冷基
33分钟前
3
0
AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
今天
4
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
8
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
4
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部