using UnityEngine; using System.Diagnostics; #if UNITY_EDITOR using UnityEditor; #endif namespace BoltInternal { public class UnityDebugDrawer : IDebugDrawer { bool isEditor; void IDebugDrawer.IsEditor(bool isEditor) { this.isEditor = isEditor; } void IDebugDrawer.SelectGameObject(GameObject gameObject) { #if UNITY_EDITOR if (!isEditor) { Selection.activeGameObject = gameObject; } #endif } void IDebugDrawer.Indent(int level) { #if UNITY_EDITOR if (isEditor) { EditorGUI.indentLevel = level; return; } #endif } void IDebugDrawer.Label(string text) { #if UNITY_EDITOR if (isEditor) { GUILayout.Label(text); return; } #endif Bolt.DebugInfo.Label(text); } void IDebugDrawer.LabelBold(string text) { #if UNITY_EDITOR if (isEditor) { GUILayout.Label(text, EditorStyles.boldLabel); return; } #endif Bolt.DebugInfo.LabelBold(text); } void IDebugDrawer.LabelField(string text, object value) { #if UNITY_EDITOR if (isEditor) { EditorGUILayout.LabelField(text, value.ToString()); return; } #endif Bolt.DebugInfo.LabelField(text, value); } void IDebugDrawer.Separator() { #if UNITY_EDITOR if (isEditor) { EditorGUILayout.Separator(); return; } #endif GUILayout.Space(2); } } }