aboutsummaryrefslogtreecommitdiff
path: root/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@gmail.com>2019-11-03 18:31:04 -0500
committerAndrew Lee <alee14498@gmail.com>2019-11-03 18:31:04 -0500
commite8dd5d4fd406e6e6b710cbe85309f6870bccc37a (patch)
treedb0e99cfdbefb1625d66d07631f43565ae8ff41f /Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor
parent20b14c9a89821e6592bf25bed9329a5abe20495c (diff)
downloadUnicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.tar.gz
Unicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.tar.bz2
Unicity-e8dd5d4fd406e6e6b710cbe85309f6870bccc37a.zip
Remove everything
Diffstat (limited to 'Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor')
-rw-r--r--Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs658
-rw-r--r--Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs.meta12
-rw-r--r--Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs961
-rw-r--r--Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs.meta12
4 files changed, 0 insertions, 1643 deletions
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs
deleted file mode 100644
index 7ae6b69..0000000
--- a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs
+++ /dev/null
@@ -1,658 +0,0 @@
-/* ---------------------------------------
- * Author: Martin Pane (martintayx@gmail.com) (@tayx94)
- * Collaborators: Lars Aalbertsen (@Rockylars)
- * Project: Graphy - Ultimate Stats Monitor
- * Date: 02-Jan-18
- * Studio: Tayx
- *
- * This project is released under the MIT license.
- * Attribution is not required, but it is always welcomed!
- * -------------------------------------*/
-
-using System;
-using UnityEngine;
-using System.Collections.Generic;
-using System.IO;
-using UnityEditor;
-
-namespace Tayx.Graphy
-{
- [CustomEditor(typeof(GraphyDebugger))]
- internal class GraphyDebuggerEditor : Editor
- {
- /* ----- TODO: ----------------------------
- * Add summaries to the variables.
- * Add summaries to the functions.
- * Finish spacing on "OnInspectorGUI".
- * Add sections to "OnInspectorGUI".
- * Fix the use of Space to be consistent with "GraphyManagerEditor".
- * --------------------------------------*/
-
- #region Variables -> Private
-
- private GraphyDebugger m_target;
-
- private int m_newDebugPacketListSize = 0;
-
- private int m_previouslySelectedDebugPacketIndex = 0;
- private int m_currentlySelectedDebugPacketIndex = 0;
-
- private int m_selectedDebugPacketCondition = 0;
-
- private GUISkin m_skin;
-
- private GUIStyle m_headerStyle1;
- private GUIStyle m_headerStyle2;
-
- private Texture2D m_logoTexture;
-
- #endregion
-
- #region Methods -> Unity Callbacks
-
- private void OnEnable()
- {
- m_target = (GraphyDebugger) target;
- }
-
- #endregion
-
- #region Methods -> Public Override
-
- public override void OnInspectorGUI()
- {
- if (m_target == null && target == null)
- {
- base.OnInspectorGUI();
-
- return;
- }
-
- LoadGuiStyles();
-
- float defaultLabelWidth = EditorGUIUtility.labelWidth;
- float defaultFieldWidth = EditorGUIUtility.fieldWidth;
-
- //===== CONTENT REGION ========================================================================
-
- GUILayout.Space(20);
-
- #region Section -> Logo
-
- if (m_logoTexture != null)
- {
- GUILayout.Label
- (
- image: m_logoTexture,
- style: new GUIStyle(GUI.skin.GetStyle("Label"))
- {
- alignment = TextAnchor.UpperCenter
- }
- );
-
- GUILayout.Space(10);
- }
- else
- {
- EditorGUILayout.LabelField
- (
- label: "[ GRAPHY - DEBUGGER ]",
- style: m_headerStyle1
- );
- }
-
- #endregion
-
- GUILayout.Space(5); //Extra pixels added when the logo is used.
-
- #region Section -> Settings
-
- SerializedObject serObj = serializedObject;
-
- SerializedProperty debugPacketList = serObj.FindProperty("m_debugPackets"); // Find the List in our script and create a refrence of it
-
- //Update our list
- serObj.Update();
-
- EditorGUILayout.LabelField("Current [Debug Packets] list size: " + debugPacketList.arraySize);
-
- EditorGUIUtility.fieldWidth = 32;
- EditorGUILayout.BeginHorizontal();
-
-
-
- m_newDebugPacketListSize = EditorGUILayout.IntField
- (
- label: "Define a new list size",
- value: m_newDebugPacketListSize
- );
-
- if (GUILayout.Button("Resize List"))
- {
- if (EditorUtility.DisplayDialog
- (
- title:
- "Resize List",
-
- message:
- "Are you sure you want to resize the entire List?\n\n" +
- "Current List Size -> " +
- debugPacketList.arraySize +
- "\n" +
- "New List Size -> " +
- m_newDebugPacketListSize +
- "\n" +
- "This will add default entries if the value is greater than the list size, or erase the bottom values until the new size specified.",
-
- ok:
- "Resize",
-
- cancel:
- "Cancel")
- )
- {
- m_currentlySelectedDebugPacketIndex = 0;
-
- if (m_newDebugPacketListSize != debugPacketList.arraySize)
- {
- while (m_newDebugPacketListSize > debugPacketList.arraySize)
- {
- debugPacketList.InsertArrayElementAtIndex(debugPacketList.arraySize);
- SetDefaultDebugPacketValues(debugPacketList);
- }
- while (m_newDebugPacketListSize < debugPacketList.arraySize)
- {
- debugPacketList.DeleteArrayElementAtIndex(debugPacketList.arraySize - 1);
- }
- }
- }
- }
-
- EditorGUILayout.EndHorizontal();
-
- EditorGUILayout.LabelField("NOT RECOMMENDED (Only use for first initialization)", EditorStyles.centeredGreyMiniLabel);
-
- EditorGUILayout.Space();
- EditorGUILayout.Space();
-
- if (debugPacketList.arraySize < 1)
- {
- m_previouslySelectedDebugPacketIndex = 0;
- m_currentlySelectedDebugPacketIndex = 0;
- m_selectedDebugPacketCondition = 0;
-
- serializedObject.ApplyModifiedProperties();
- return;
- }
-
- m_headerStyle2.contentOffset = Vector2.down * 3f;
-
- EditorGUILayout.LabelField("Selected debug packet:");
-
- EditorGUILayout.BeginHorizontal();
-
- List<string> debugPacketNames = new List<string>();
- for (int i = 0; i < debugPacketList.arraySize; i++)
- {
- SerializedProperty listItem = debugPacketList.GetArrayElementAtIndex(i);
- // NOTE: If the Popup detects two equal strings, it just paints 1, that's why I always add the "i"
- char checkMark = listItem.FindPropertyRelative("Active").boolValue ? '\u2714' : '\u2718';
- debugPacketNames.Add
- (
- (i + 1) +
- " (" +
- checkMark +
- ") " +
- " - ID: " +
- listItem.FindPropertyRelative("Id").intValue +
- " (Conditions: " +
- listItem.FindPropertyRelative("DebugConditions").arraySize +
- ")"
- );
- }
-
- m_currentlySelectedDebugPacketIndex = EditorGUILayout.Popup(m_currentlySelectedDebugPacketIndex, debugPacketNames.ToArray());
-
- if (m_currentlySelectedDebugPacketIndex != m_previouslySelectedDebugPacketIndex)
- {
- m_selectedDebugPacketCondition = 0;
-
- m_previouslySelectedDebugPacketIndex = m_currentlySelectedDebugPacketIndex;
- }
-
- Color defaultGUIColor = GUI.color;
-
- GUI.color = new Color(0.7f, 1f, 0.0f, 1f);
-
- //Or add a new item to the List<> with a button
-
- if (GUILayout.Button("Add", GUILayout.Width(60)))
- {
- debugPacketList.InsertArrayElementAtIndex(debugPacketList.arraySize);
- SetDefaultDebugPacketValues(debugPacketList);
- }
-
- GUI.color = new Color(1f, 0.7f, 0.0f, 1f);
-
- //Remove this index from the List
-
- if (GUILayout.Button("Remove", GUILayout.Width(60)))
- {
- debugPacketList.DeleteArrayElementAtIndex(m_currentlySelectedDebugPacketIndex);
- if (m_currentlySelectedDebugPacketIndex > 0)
- {
- m_currentlySelectedDebugPacketIndex--;
- }
-
- if (debugPacketList.arraySize < 1)
- {
- serializedObject.ApplyModifiedProperties();
- return;
- }
- }
-
- GUI.color = defaultGUIColor;
-
- EditorGUILayout.EndHorizontal();
-
- EditorGUILayout.Space();
- EditorGUILayout.Space();
- EditorGUILayout.Space();
-
- //Display our list to the inspector window
-
- SerializedProperty listItemSelected = debugPacketList.GetArrayElementAtIndex(m_currentlySelectedDebugPacketIndex);
-
- SerializedProperty Active = listItemSelected.FindPropertyRelative("Active");
- SerializedProperty Id = listItemSelected.FindPropertyRelative("Id");
- SerializedProperty ExecuteOnce = listItemSelected.FindPropertyRelative("ExecuteOnce");
- SerializedProperty InitSleepTime = listItemSelected.FindPropertyRelative("InitSleepTime");
- SerializedProperty ExecuteSleepTime = listItemSelected.FindPropertyRelative("ExecuteSleepTime");
- SerializedProperty ConditionEvaluation = listItemSelected.FindPropertyRelative("ConditionEvaluation");
- SerializedProperty DebugConditions = listItemSelected.FindPropertyRelative("DebugConditions");
- SerializedProperty MessageType = listItemSelected.FindPropertyRelative("MessageType");
- SerializedProperty Message = listItemSelected.FindPropertyRelative("Message");
- SerializedProperty TakeScreenshot = listItemSelected.FindPropertyRelative("TakeScreenshot");
- SerializedProperty ScreenshotFileName = listItemSelected.FindPropertyRelative("ScreenshotFileName");
- SerializedProperty DebugBreak = listItemSelected.FindPropertyRelative("DebugBreak");
- SerializedProperty UnityEvents = listItemSelected.FindPropertyRelative("UnityEvents");
-
- #endregion
-
- EditorGUILayout.LabelField
- (
- label:
- "[ PACKET ] - ID: " +
- Id.intValue +
- " (Conditions: " +
- DebugConditions.arraySize +
- ")",
-
- style: m_headerStyle2
- );
-
- EditorGUIUtility.labelWidth = 150;
- EditorGUIUtility.fieldWidth = 35;
-
- Active.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Active",
- tooltip: "If false, it will not be checked"
- ),
- value: Active.boolValue
- );
-
- Id.intValue = EditorGUILayout.IntField
- (
- new GUIContent
- (
- text: "ID",
- tooltip: "Optional Id. It's used to get or remove DebugPackets in runtime"
- ),
- value: Id.intValue
- );
-
- ExecuteOnce.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Execute once",
- tooltip: "If true, once the actions are executed, this DebugPacket will delete itself"
- ),
- value: ExecuteOnce.boolValue
- );
-
- InitSleepTime.floatValue = EditorGUILayout.FloatField
- (
- new GUIContent
- (
- text: "Init sleep time",
- tooltip: "Time to wait before checking if conditions are met (use this to avoid low fps drops triggering the conditions when loading the game)"
- ),
- value: InitSleepTime.floatValue
- );
-
- ExecuteSleepTime.floatValue = EditorGUILayout.FloatField
- (
- new GUIContent
- (
- text: "Sleep time after execute",
- tooltip: "Time to wait before checking if conditions are met again (once they have already been met and if ExecuteOnce is false)"
- ),
- value: ExecuteSleepTime.floatValue
- );
-
-
-
- EditorGUIUtility.labelWidth = defaultLabelWidth;
- EditorGUIUtility.fieldWidth = defaultFieldWidth;
-
- EditorGUILayout.Space();
- EditorGUILayout.Space();
-
- EditorGUILayout.LabelField("[ CONDITIONS ] (" + DebugConditions.arraySize + ")", m_headerStyle2);
-
- EditorGUILayout.PropertyField
- (
- ConditionEvaluation,
- new GUIContent("Condition evaluation")
- );
-
- EditorGUILayout.Space();
-
- if (DebugConditions.arraySize < 1)
- {
- DebugConditions.InsertArrayElementAtIndex(DebugConditions.arraySize);
- m_selectedDebugPacketCondition = 0;
- }
-
- EditorGUILayout.BeginHorizontal();
-
- List<string> debugPacketConditionNames = new List<string>();
- for (int i = 0; i < DebugConditions.arraySize; i++)
- {
- SerializedProperty listItem = DebugConditions.GetArrayElementAtIndex(i);
- // NOTE: If the Popup detects two equal strings, it just paints 1, that's why I always add the "i"
-
- string conditionName = (i + 1).ToString() + " - ";
- conditionName += GetComparerStringFromDebugVariable((GraphyDebugger.DebugVariable)listItem.FindPropertyRelative("Variable").intValue) + " ";
- conditionName += GetComparerStringFromDebugComparer((GraphyDebugger.DebugComparer)listItem.FindPropertyRelative("Comparer").intValue) + " ";
- conditionName += listItem.FindPropertyRelative("Value").floatValue.ToString();
-
- debugPacketConditionNames.Add(conditionName);
- }
-
- m_selectedDebugPacketCondition = EditorGUILayout.Popup(m_selectedDebugPacketCondition, debugPacketConditionNames.ToArray());
-
- GUI.color = new Color(0.7f, 1f, 0.0f, 1f);
-
- if (GUILayout.Button("Add", GUILayout.Width(60)))
- {
- DebugConditions.InsertArrayElementAtIndex(DebugConditions.arraySize);
- }
-
- if (DebugConditions.arraySize > 1)
- {
- GUI.color = new Color(1f, 0.7f, 0.0f, 1f);
- }
- else
- {
- GUI.color = new Color(1f, 0.7f, 0.0f, 0.5f);
- }
-
- //Remove this index from the List
- if (GUILayout.Button("Remove", GUILayout.Width(60)))
- {
- if (DebugConditions.arraySize > 1)
- {
- DebugConditions.DeleteArrayElementAtIndex(m_selectedDebugPacketCondition);
- if (m_selectedDebugPacketCondition > 0)
- {
- m_selectedDebugPacketCondition--;
- }
- }
- }
-
- GUI.color = defaultGUIColor;
-
- EditorGUILayout.EndHorizontal();
-
- SerializedProperty conditionListItemSelected = DebugConditions.GetArrayElementAtIndex(m_selectedDebugPacketCondition);
-
- SerializedProperty Variable = conditionListItemSelected.FindPropertyRelative("Variable");
- SerializedProperty Comparer = conditionListItemSelected.FindPropertyRelative("Comparer");
- SerializedProperty Value = conditionListItemSelected.FindPropertyRelative("Value");
-
- EditorGUILayout.PropertyField
- (
- Variable,
- new GUIContent("Variable")
- );
-
- EditorGUILayout.PropertyField
- (
- Comparer,
- new GUIContent("Comparer")
- );
-
- EditorGUILayout.PropertyField
- (
- Value,
- new GUIContent("Value")
- );
-
- EditorGUILayout.Space();
- EditorGUILayout.Space();
-
- EditorGUILayout.LabelField("[ ACTIONS ]", m_headerStyle2);
-
- EditorGUIUtility.labelWidth = 140;
- EditorGUIUtility.fieldWidth = 35;
-
- EditorGUILayout.PropertyField
- (
- MessageType,
- new GUIContent("Message type")
- );
-
- EditorGUILayout.PropertyField(Message);
-
- TakeScreenshot.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Take screenshot",
- tooltip: "If true, it takes a screenshot and stores it. The location where the image is written to can include a directory/folder list. With no directory/folder list the image will be written into the Project folder. On mobile platforms the filename is appended to the persistent data path."
- ),
- value: TakeScreenshot.boolValue
- );
-
- if (TakeScreenshot.boolValue)
- {
- EditorGUILayout.PropertyField
- (
- ScreenshotFileName,
- new GUIContent
- (
- text: "Screenshot file name",
- tooltip: "Avoid this characters: * . \" / \\ [ ] : ; | = , \n\nIt will have the date appended at the end to avoid overwriting."
- )
- );
- }
-
- DebugBreak.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Debug Break",
- tooltip: "If true, it pauses the editor"
- ),
- DebugBreak.boolValue
- );
-
- EditorGUILayout.PropertyField(UnityEvents);
-
- EditorGUIUtility.labelWidth = defaultLabelWidth;
- EditorGUIUtility.fieldWidth = defaultFieldWidth;
-
- serializedObject.ApplyModifiedProperties();
-
- }
-
- #endregion
-
- #region Methods -> Private
-
- private void LoadGuiStyles()
- {
- string path = GetMonoScriptFilePath(this);
-
- path = path.Split(new string[] { "Assets" }, StringSplitOptions.None)[1]
- .Split(new string[] { "Tayx" }, StringSplitOptions.None)[0];
-
- m_logoTexture = AssetDatabase.LoadAssetAtPath<Texture2D>
- (
- "Assets" +
- path +
- "Tayx/Graphy - Ultimate Stats Monitor/Textures/Debugger_Logo_" +
- (EditorGUIUtility.isProSkin ? "White.png" : "Dark.png")
- );
-
- m_skin = AssetDatabase.LoadAssetAtPath<GUISkin>
- (
- "Assets" +
- path +
- "Tayx/Graphy - Ultimate Stats Monitor/GUI/Graphy.guiskin"
- );
-
- if (m_skin != null)
- {
- m_headerStyle1 = m_skin.GetStyle("Header1");
- m_headerStyle2 = m_skin.GetStyle("Header2");
-
- SetGuiStyleFontColor
- (
- guiStyle: m_headerStyle2,
- color: EditorGUIUtility.isProSkin ? Color.white : Color.black
- );
- }
- else
- {
- m_headerStyle1 = EditorStyles.boldLabel;
- m_headerStyle2 = EditorStyles.boldLabel;
- }
- }
-
- private void SetGuiStyleFontColor(GUIStyle guiStyle, Color color)
- {
- guiStyle.normal .textColor = color;
- guiStyle.hover .textColor = color;
- guiStyle.active .textColor = color;
- guiStyle.focused .textColor = color;
- guiStyle.onNormal .textColor = color;
- guiStyle.onHover .textColor = color;
- guiStyle.onActive .textColor = color;
- guiStyle.onFocused .textColor = color;
- }
-
- private string GetMonoScriptFilePath(ScriptableObject scriptableObject)
- {
- MonoScript ms = MonoScript.FromScriptableObject(scriptableObject);
-
- string filePath = AssetDatabase.GetAssetPath(ms);
-
- FileInfo fi = new FileInfo(filePath);
-
- if (fi.Directory != null)
- {
- filePath = fi.Directory.ToString();
-
- return filePath.Replace
- (
- oldChar: '\\',
- newChar: '/'
- );
- }
- return null;
-
- }
-
- private void SetDefaultDebugPacketValues(SerializedProperty debugPacketSerializedProperty)
- {
- GraphyDebugger.DebugPacket debugPacket = new GraphyDebugger.DebugPacket();
-
- debugPacketSerializedProperty.GetArrayElementAtIndex(debugPacketSerializedProperty.arraySize - 1)
- .FindPropertyRelative("Active")
- .boolValue = debugPacket.Active;
-
- debugPacketSerializedProperty.GetArrayElementAtIndex(debugPacketSerializedProperty.arraySize - 1)
- .FindPropertyRelative("Id")
- .intValue = debugPacketSerializedProperty.arraySize;
-
- debugPacketSerializedProperty.GetArrayElementAtIndex(debugPacketSerializedProperty.arraySize - 1)
- .FindPropertyRelative("ExecuteOnce")
- .boolValue = debugPacket.ExecuteOnce;
-
- debugPacketSerializedProperty.GetArrayElementAtIndex(debugPacketSerializedProperty.arraySize - 1)
- .FindPropertyRelative("InitSleepTime")
- .floatValue = debugPacket.InitSleepTime;
-
- debugPacketSerializedProperty.GetArrayElementAtIndex(debugPacketSerializedProperty.arraySize - 1)
- .FindPropertyRelative("ExecuteSleepTime")
- .floatValue = debugPacket.ExecuteSleepTime;
- }
-
- private string GetComparerStringFromDebugVariable(GraphyDebugger.DebugVariable debugVariable)
- {
- switch (debugVariable)
- {
- case GraphyDebugger.DebugVariable.Fps:
- return "FPS Current";
- case GraphyDebugger.DebugVariable.Fps_Min:
- return "FPS Min";
- case GraphyDebugger.DebugVariable.Fps_Max:
- return "FPS Max";
- case GraphyDebugger.DebugVariable.Fps_Avg:
- return "FPS Avg";
-
- case GraphyDebugger.DebugVariable.Ram_Allocated:
- return "Ram Allocated";
- case GraphyDebugger.DebugVariable.Ram_Reserved:
- return "Ram Reserved";
- case GraphyDebugger.DebugVariable.Ram_Mono:
- return "Ram Mono";
-
- case GraphyDebugger.DebugVariable.Audio_DB:
- return "Audio DB";
-
- default:
- return null;
-
- }
- }
-
- private string GetComparerStringFromDebugComparer(GraphyDebugger.DebugComparer debugComparer)
- {
- switch (debugComparer)
- {
- case GraphyDebugger.DebugComparer.Less_than:
- return "<";
- case GraphyDebugger.DebugComparer.Equals_or_less_than:
- return "<=";
- case GraphyDebugger.DebugComparer.Equals:
- return "==";
- case GraphyDebugger.DebugComparer.Equals_or_greater_than:
- return ">=";
- case GraphyDebugger.DebugComparer.Greater_than:
- return ">";
-
- default:
- return null;
- }
- }
-
- #endregion
- }
-} \ No newline at end of file
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs.meta b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs.meta
deleted file mode 100644
index 576169a..0000000
--- a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyDebuggerEditor.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 4a96825e094d61441b5247d0c32652b3
-timeCreated: 1514907656
-licenseType: Store
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs
deleted file mode 100644
index 8f87a9c..0000000
--- a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs
+++ /dev/null
@@ -1,961 +0,0 @@
-/* ---------------------------------------
- * Author: Martin Pane (martintayx@gmail.com) (@tayx94)
- * Collaborators: Lars Aalbertsen (@Rockylars)
- * Project: Graphy - Ultimate Stats Monitor
- * Date: 20-Dec-17
- * Studio: Tayx
- *
- * This project is released under the MIT license.
- * Attribution is not required, but it is always welcomed!
- * -------------------------------------*/
-
-using System;
-using UnityEngine;
-using System.IO;
-using UnityEditor;
-
-namespace Tayx.Graphy
-{
- [CustomEditor(typeof(GraphyManager))]
- internal class GraphyManagerEditor : Editor
- {
- /* ----- TODO: ----------------------------
- * Add summaries to the variables.
- * Add summaries to the functions.
- * --------------------------------------*/
-
- #region Variables -> Private
-
- private GraphyManager m_target;
-
- private GUISkin m_skin;
-
- private GUIStyle m_headerStyle1;
- private GUIStyle m_headerStyle2;
-
- private Texture2D m_logoTexture;
-
- private int[] m_spectrumSizeValues =
- {
- 128,
- 256,
- 512,
- 1024,
- 2048,
- 4096,
- 8192
- };
-
- #region Section -> Settings
-
- private SerializedProperty m_graphyMode;
-
- private SerializedProperty m_enableOnStartup;
-
- private SerializedProperty m_keepAlive;
-
- private SerializedProperty m_background;
- private SerializedProperty m_backgroundColor;
-
- private SerializedProperty m_enableHotkeys;
-
- private SerializedProperty m_toggleModeKeyCode;
- private SerializedProperty m_toggleModeCtrl;
- private SerializedProperty m_toggleModeAlt;
-
- private SerializedProperty m_toggleActiveKeyCode;
- private SerializedProperty m_toggleActiveCtrl;
- private SerializedProperty m_toggleActiveAlt;
-
-
- private SerializedProperty m_graphModulePosition;
-
- #endregion
-
- #region Section -> FPS
-
- private bool m_fpsModuleInspectorToggle = true;
-
- private SerializedProperty m_fpsModuleState;
-
- private SerializedProperty m_timeToResetMinMaxFps;
-
- private SerializedProperty m_goodFpsColor;
- private SerializedProperty m_goodFpsThreshold;
-
- private SerializedProperty m_cautionFpsColor;
- private SerializedProperty m_cautionFpsThreshold;
-
- private SerializedProperty m_criticalFpsColor;
-
- private SerializedProperty m_fpsGraphResolution;
-
- private SerializedProperty m_fpsTextUpdateRate;
-
- #endregion
-
- #region Section -> RAM
-
- private bool m_ramModuleInspectorToggle = true;
-
- private SerializedProperty m_ramModuleState;
-
- private SerializedProperty m_allocatedRamColor;
- private SerializedProperty m_reservedRamColor;
- private SerializedProperty m_monoRamColor;
-
- private SerializedProperty m_ramGraphResolution;
-
- private SerializedProperty m_ramTextUpdateRate;
-
- #endregion
-
- #region Section -> Audio
-
- private bool m_audioModuleInspectorToggle = true;
-
- private SerializedProperty m_findAudioListenerInCameraIfNull;
-
- private SerializedProperty m_audioListener;
-
- private SerializedProperty m_audioModuleState;
-
- private SerializedProperty m_audioGraphColor;
-
- private SerializedProperty m_audioGraphResolution;
-
- private SerializedProperty m_audioTextUpdateRate;
-
- private SerializedProperty m_FFTWindow;
-
- private SerializedProperty m_spectrumSize;
-
- #endregion
-
- #region Section -> Advanced Settings
-
- private bool m_advancedModuleInspectorToggle = true;
-
- private SerializedProperty m_advancedModulePosition;
-
- private SerializedProperty m_advancedModuleState;
-
- #endregion
-
- #endregion
-
- #region Methods -> Unity Callbacks
-
- private void OnEnable()
- {
- m_target = (GraphyManager)target;
-
- SerializedObject serObj = serializedObject;
-
- #region Section -> Settings
-
- m_graphyMode = serObj.FindProperty("m_graphyMode");
-
- m_enableOnStartup = serObj.FindProperty("m_enableOnStartup");
-
- m_keepAlive = serObj.FindProperty("m_keepAlive");
-
- m_background = serObj.FindProperty("m_background");
- m_backgroundColor = serObj.FindProperty("m_backgroundColor");
-
- m_enableHotkeys = serObj.FindProperty("m_enableHotkeys");
-
- m_toggleModeKeyCode = serObj.FindProperty("m_toggleModeKeyCode");
-
- m_toggleModeCtrl = serObj.FindProperty("m_toggleModeCtrl");
- m_toggleModeAlt = serObj.FindProperty("m_toggleModeAlt");
-
- m_toggleActiveKeyCode = serObj.FindProperty("m_toggleActiveKeyCode");
-
- m_toggleActiveCtrl = serObj.FindProperty("m_toggleActiveCtrl");
- m_toggleActiveAlt = serObj.FindProperty("m_toggleActiveAlt");
-
- m_graphModulePosition = serObj.FindProperty("m_graphModulePosition");
-
- #endregion
-
- #region Section -> FPS
-
- m_fpsModuleState = serObj.FindProperty("m_fpsModuleState");
-
- m_timeToResetMinMaxFps = serObj.FindProperty("m_timeToResetMinMaxFps");
-
- m_goodFpsColor = serObj.FindProperty("m_goodFpsColor");
- m_goodFpsThreshold = serObj.FindProperty("m_goodFpsThreshold");
-
- m_cautionFpsColor = serObj.FindProperty("m_cautionFpsColor");
- m_cautionFpsThreshold = serObj.FindProperty("m_cautionFpsThreshold");
-
- m_criticalFpsColor = serObj.FindProperty("m_criticalFpsColor");
-
- m_fpsGraphResolution = serObj.FindProperty("m_fpsGraphResolution");
-
- m_fpsTextUpdateRate = serObj.FindProperty("m_fpsTextUpdateRate");
-
- #endregion
-
- #region Section -> RAM
-
- m_ramModuleState = serObj.FindProperty("m_ramModuleState");
-
- m_allocatedRamColor = serObj.FindProperty("m_allocatedRamColor");
- m_reservedRamColor = serObj.FindProperty("m_reservedRamColor");
- m_monoRamColor = serObj.FindProperty("m_monoRamColor");
-
- m_ramGraphResolution = serObj.FindProperty("m_ramGraphResolution");
-
- m_ramTextUpdateRate = serObj.FindProperty("m_ramTextUpdateRate");
-
- #endregion
-
- #region Section -> Audio
-
- m_findAudioListenerInCameraIfNull = serObj.FindProperty("m_findAudioListenerInCameraIfNull");
-
- m_audioListener = serObj.FindProperty("m_audioListener");
-
- m_audioModuleState = serObj.FindProperty("m_audioModuleState");
-
- m_audioGraphColor = serObj.FindProperty("m_audioGraphColor");
-
- m_audioGraphResolution = serObj.FindProperty("m_audioGraphResolution");
-
- m_audioTextUpdateRate = serObj.FindProperty("m_audioTextUpdateRate");
-
- m_FFTWindow = serObj.FindProperty("m_FFTWindow");
-
- m_spectrumSize = serObj.FindProperty("m_spectrumSize");
-
- #endregion
-
- #region Section -> Advanced Settings
-
- m_advancedModulePosition = serObj.FindProperty("m_advancedModulePosition");
-
- m_advancedModuleState = serObj.FindProperty("m_advancedModuleState");
-
- #endregion
-
- }
-
- #endregion
-
- #region Methods -> Public Override
-
- public override void OnInspectorGUI()
- {
- if (m_target == null && target == null)
- {
- base.OnInspectorGUI();
- return;
- }
-
- LoadGuiStyles();
-
- float defaultLabelWidth = EditorGUIUtility.labelWidth;
- float defaultFieldWidth = EditorGUIUtility.fieldWidth;
-
- GUIStyle foldoutStyle = new GUIStyle(EditorStyles.foldout)
- {
- font = m_headerStyle2.font,
- fontStyle = m_headerStyle2.fontStyle,
- contentOffset = Vector2.down * 3f //TODO: Maybe replace this with "new Vector2(0f, -3f);"
- };
-
- SetGuiStyleFontColor
- (
- guiStyle: foldoutStyle,
- color: EditorGUIUtility.isProSkin ? Color.white : Color.black
- );
-
- //===== CONTENT REGION ========================================================================
-
- GUILayout.Space(20);
-
- #region Section -> Logo
-
- if (m_logoTexture != null)
- {
- GUILayout.Label
- (
- image: m_logoTexture,
- style: new GUIStyle(GUI.skin.GetStyle("Label"))
- {
- alignment = TextAnchor.UpperCenter
- }
- );
-
- GUILayout.Space(10);
- }
- else
- {
- EditorGUILayout.LabelField
- (
- label: "[ GRAPHY - MANAGER ]",
- style: m_headerStyle1
- );
- }
-
- #endregion
-
- GUILayout.Space(5); //Extra pixels added when the logo is used.
-
- #region Section -> Settings
-
- EditorGUIUtility.labelWidth = 130;
- EditorGUIUtility.fieldWidth = 35;
-
- EditorGUILayout.PropertyField
- (
- m_graphyMode,
- new GUIContent
- (
- text: "Graphy Mode",
- tooltip: "LIGHT mode increases compatibility with mobile and older, less powerful GPUs, but reduces the maximum graph resolutions to 128."
- )
- );
-
- GUILayout.Space(10);
-
- m_enableOnStartup.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Enable On Startup",
- tooltip: "If ticked, Graphy will be displayed by default on startup, otherwise it will initiate and hide."
- ),
- value: m_enableOnStartup.boolValue
- );
-
- // This is a neat trick to hide Graphy in the Scene if it's going to be deactivated in play mode so that it doesn't use screen space.
- if (!Application.isPlaying)
- {
- m_target.GetComponent<Canvas>().enabled = m_enableOnStartup.boolValue;
- }
-
- m_keepAlive.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Keep Alive",
- tooltip: "If ticked, it will survive scene changes.\n\nCAREFUL, if you set Graphy as a child of another GameObject, the root GameObject will also survive scene changes. If you want to avoid that put Graphy in the root of the Scene as its own entity."
- ),
- value: m_keepAlive.boolValue
- );
-
- GUILayout.Space(10);
-
- EditorGUILayout.BeginHorizontal();
-
- m_background.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Background",
- tooltip: "If ticked, it will show a background overlay to improve readability in cluttered scenes."
- ),
- value: m_background.boolValue
- );
-
- m_backgroundColor.colorValue = EditorGUILayout.ColorField(m_backgroundColor.colorValue);
-
- EditorGUILayout.EndHorizontal();
-
- GUILayout.Space(10);
-
- m_enableHotkeys.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Enable Hotkeys",
- tooltip: "If ticked, it will enable the hotkeys to be able to modify Graphy in runtime with custom keyboard shortcuts."
- ),
- value: m_enableHotkeys.boolValue
- );
-
- if (m_enableHotkeys.boolValue)
- {
- EditorGUILayout.BeginHorizontal();
-
- EditorGUIUtility.labelWidth = 130;
- EditorGUIUtility.fieldWidth = 35;
-
- EditorGUILayout.PropertyField
- (
- m_toggleModeKeyCode,
- new GUIContent
- (
- text: "Toggle Mode Key",
- tooltip: "If ticked, it will require clicking this key and the other ones you have set up."
- )
- );
-
- EditorGUIUtility.labelWidth = 30;
- EditorGUIUtility.fieldWidth = 35;
-
- m_toggleModeCtrl.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Ctrl",
- tooltip: "If ticked, it will require clicking Ctrl and the other keys you have set up."
- ),
- value: m_toggleModeCtrl.boolValue
- );
-
- m_toggleModeAlt.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Alt",
- tooltip: "If ticked, it will require clicking Alt and the other keys you have set up."
- ),
- value: m_toggleModeAlt.boolValue
- );
-
- EditorGUILayout.EndHorizontal();
-
- EditorGUILayout.BeginHorizontal();
-
- EditorGUIUtility.labelWidth = 130;
- EditorGUIUtility.fieldWidth = 35;
-
- EditorGUILayout.PropertyField
- (
- m_toggleActiveKeyCode,
- new GUIContent
- (
- text: "Toggle Active Key",
- tooltip: "If ticked, it will require clicking this key and the other ones you have set up."
- )
- );
-
- EditorGUIUtility.labelWidth = 30;
- EditorGUIUtility.fieldWidth = 35;
-
- m_toggleActiveCtrl.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Ctrl",
- tooltip: "If ticked, it will require clicking Ctrl and the other kesy you have set up."
- ),
- value: m_toggleActiveCtrl.boolValue
- );
-
- m_toggleActiveAlt.boolValue = EditorGUILayout.Toggle
- (
- new GUIContent
- (
- text: "Alt",
- tooltip: "If ticked, it will require clicking Alt and the other keys you have set up."
- ),
- value: m_toggleActiveAlt.boolValue
- );
-
- EditorGUILayout.EndHorizontal();
- }
-
- GUILayout.Space(15);
-
- EditorGUIUtility.labelWidth = 155;
- EditorGUIUtility.fieldWidth = 35;
-
- EditorGUILayout.PropertyField
- (
- m_graphModulePosition,
- new GUIContent
- (
- text: "Graph modules position",
- tooltip: "Defines in which corner the modules will be located."
- )
- );
-
- #endregion
-
- GUILayout.Space(20);
-
- #region Section -> FPS
-
- m_fpsModuleInspectorToggle = EditorGUILayout.Foldout
- (
- m_fpsModuleInspectorToggle,
- content: " [ FPS ]",
- style: foldoutStyle
- );
-
- GUILayout.Space(5);
-
- if (m_fpsModuleInspectorToggle)
- {
- EditorGUILayout.PropertyField
- (
- m_fpsModuleState,
- new GUIContent
- (
- text: "Module state",
- tooltip: "FULL -> Text + Graph \nTEXT -> Just text \nOFF -> Turned off"
- )
- );
-
- GUILayout.Space(5);
-
- EditorGUILayout.LabelField("Fps thresholds and colors:");
-
- EditorGUI.indentLevel++;
-
- EditorGUILayout.BeginHorizontal();
-
- m_goodFpsThreshold.intValue = EditorGUILayout.IntField
- (
- new GUIContent
- (
- text: "- Good",
- tooltip: "When FPS rise above this value, this color will be used."
- ),
- value: m_goodFpsThreshold.intValue
- );
-
- m_goodFpsColor.colorValue = EditorGUILayout.ColorField(m_goodFpsColor.colorValue);
-
- EditorGUILayout.EndHorizontal();
-
- if (m_goodFpsThreshold.intValue <= m_cautionFpsThreshold.intValue && m_goodFpsThreshold.intValue > 1)
- {
- m_cautionFpsThreshold.intValue = m_goodFpsThreshold.intValue - 1;
- }
- else if (m_goodFpsThreshold.intValue <= 1)
- {
- m_goodFpsThreshold.intValue = 2;
- }
-
- EditorGUILayout.BeginHorizontal();
-
- m_cautionFpsThreshold.intValue = EditorGUILayout.IntField
- (
- new GUIContent
- (
- text: "- Caution",
- tooltip: "When FPS falls between this and the Good value, this color will be used."
- ),
- value: m_cautionFpsThreshold.intValue
- );
-
- m_cautionFpsColor.colorValue = EditorGUILayout.ColorField(m_cautionFpsColor.colorValue);
-
- EditorGUILayout.EndHorizontal();
-
- if (m_cautionFpsThreshold.intValue >= m_goodFpsThreshold.intValue)
- {
- m_cautionFpsThreshold.intValue = m_goodFpsThreshold.intValue - 1;
- }
- else if (m_cautionFpsThreshold.intValue <= 0)
- {
- m_cautionFpsThreshold.intValue = 1;
- }
-
- EditorGUILayout.BeginHorizontal();
-
- EditorGUILayout.IntField
- (
- new GUIContent
- (
- text: "- Critical",
- tooltip: "When FPS falls below the Caution value, this color will be used. (You can't have negative FPS, so this value is just for reference, it can't be changed)."
- ),
- value: 0
- );
-
- m_criticalFpsColor.colorValue = EditorGUILayout.ColorField(m_criticalFpsColor.colorValue);
-
- EditorGUILayout.EndHorizontal();
-
- EditorGUI.indentLevel--;
-
- if (m_fpsModuleState.intValue == 0)
- {
- m_fpsGraphResolution.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Graph resolution",
- tooltip: "Defines the amount of points in the graph"
- ),
- m_fpsGraphResolution.intValue,
- leftValue: 20,
- rightValue: m_graphyMode.intValue == 0 ? 300 : 128
- );
- }
-
- EditorGUIUtility.labelWidth = 180;
- EditorGUIUtility.fieldWidth = 35;
-
- m_timeToResetMinMaxFps.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Time to reset min/max values",
- tooltip: "If the min/max value doesn't change in the specified time, they will be reset. This allows tracking the min/max fps in a shorter interval. \n\nSet it to 0 if you don't want it to reset."
- ),
- m_timeToResetMinMaxFps.intValue,
- leftValue: 0,
- rightValue: 120
- );
-
- EditorGUIUtility.labelWidth = 155;
- EditorGUIUtility.fieldWidth = 35;
-
- m_fpsTextUpdateRate.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Text update rate",
- tooltip: "Defines the amount times the text is updated in 1 second."
- ),
- m_fpsTextUpdateRate.intValue,
- leftValue: 1,
- rightValue: 60
- );
- }
-
- #endregion
-
- GUILayout.Space(20);
-
- #region Section -> RAM
-
- m_ramModuleInspectorToggle = EditorGUILayout.Foldout
- (
- m_ramModuleInspectorToggle,
- content: " [ RAM ]",
- style: foldoutStyle
- );
-
- GUILayout.Space(5);
-
- if (m_ramModuleInspectorToggle)
- {
- EditorGUILayout.PropertyField
- (
- m_ramModuleState,
- new GUIContent
- (
- text: "Module state",
- tooltip: "FULL -> Text + Graph \nTEXT -> Just text \nOFF -> Turned off"
- )
- );
-
- GUILayout.Space(5);
-
- EditorGUILayout.LabelField("Graph colors:");
-
- EditorGUI.indentLevel++;
-
- m_allocatedRamColor.colorValue = EditorGUILayout.ColorField
- (
- label: "- Allocated",
- value: m_allocatedRamColor.colorValue
- );
-
- m_reservedRamColor.colorValue = EditorGUILayout.ColorField
- (
- label: "- Reserved",
- value: m_reservedRamColor.colorValue
- );
-
- m_monoRamColor.colorValue = EditorGUILayout.ColorField
- (
- label: "- Mono",
- value: m_monoRamColor.colorValue
- );
-
- EditorGUI.indentLevel--;
-
- if (m_ramModuleState.intValue == 0)
- {
- m_ramGraphResolution.intValue = EditorGUILayout.IntSlider(
- new GUIContent
- (
- text: "Graph resolution",
- tooltip: "Defines the amount of points are in the graph"
- ),
- m_ramGraphResolution.intValue,
- leftValue: 20,
- rightValue: m_graphyMode.intValue == 0 ? 300 : 128
- );
- }
-
- m_ramTextUpdateRate.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Text update rate",
- tooltip: "Defines the amount times the text is updated in 1 second."
- ),
- m_ramTextUpdateRate.intValue,
- leftValue: 1,
- rightValue: 60
- );
- }
-
- #endregion
-
- GUILayout.Space(20);
-
- #region Section -> Audio
-
- m_audioModuleInspectorToggle = EditorGUILayout.Foldout
- (
- m_audioModuleInspectorToggle,
- content: " [ AUDIO ]",
- style: foldoutStyle
- );
-
- GUILayout.Space(5);
-
- if (m_audioModuleInspectorToggle)
- {
- EditorGUILayout.PropertyField
- (
- m_audioModuleState,
- new GUIContent
- (
- text: "Module state",
- tooltip: "FULL -> Text + Graph \nTEXT -> Just text \nOFF -> Turned off"
- )
- );
-
- GUILayout.Space(5);
-
- EditorGUILayout.PropertyField
- (
- m_findAudioListenerInCameraIfNull,
- new GUIContent
- (
- text: "Find audio listener",
- tooltip: "Tries to find the AudioListener in the Main camera in the scene. (if AudioListener is null)"
- )
- );
-
- EditorGUILayout.PropertyField
- (
- m_audioListener,
- new GUIContent
- (
- text: "Audio Listener",
- tooltip: "Graphy will take the data from this Listener. If none are specified, it will try to get it from the Main Camera in the scene."
- )
- );
-
- if (m_audioModuleState.intValue == 0)
- {
- m_audioGraphColor.colorValue = EditorGUILayout.ColorField
- (
- label: "Graph color",
- value: m_audioGraphColor.colorValue
- );
-
- m_audioGraphResolution.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Graph resolution",
- tooltip: "Defines the amount of points that are in the graph."
- ),
- m_audioGraphResolution.intValue,
- leftValue: 20,
- rightValue: m_graphyMode.intValue == 0 ? 300 : 128
- );
-
- // Forces the value to be a multiple of 3, this way the audio graph is painted correctly
- if (m_audioGraphResolution.intValue % 3 != 0 && m_audioGraphResolution.intValue < 300)
- {
- m_audioGraphResolution.intValue += 3 - m_audioGraphResolution.intValue % 3;
- }
- //TODO: Figure out why a static version of the ForceMultipleOf3 isnt used.
- }
-
- EditorGUILayout.PropertyField
- (
- m_FFTWindow,
- new GUIContent
- (
- text: "FFT Window",
- tooltip: "Used to reduce leakage between frequency bins/bands. Note, the more complex window type, the better the quality, but reduced speed. \n\nSimplest is rectangular. Most complex is BlackmanHarris"
- )
- );
-
- m_spectrumSize.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Spectrum size",
- tooltip: "Has to be a power of 2 between 128-8192. The higher sample rate, the less precision but also more impact on performance. Careful with mobile devices"
- ),
- m_spectrumSize.intValue,
- leftValue: 128,
- rightValue: 8192
- );
-
- int closestSpectrumIndex = 0;
- int minDistanceToSpectrumValue = 100000;
-
- for (int i = 0; i < m_spectrumSizeValues.Length; i++)
- {
- int newDistance = Mathf.Abs
- (
- value: m_spectrumSize.intValue - m_spectrumSizeValues[i]
- );
-
- if (newDistance < minDistanceToSpectrumValue)
- {
- minDistanceToSpectrumValue = newDistance;
- closestSpectrumIndex = i;
- }
- }
-
- m_spectrumSize.intValue = m_spectrumSizeValues[closestSpectrumIndex];
-
- m_audioTextUpdateRate.intValue = EditorGUILayout.IntSlider
- (
- new GUIContent
- (
- text: "Text update rate",
- tooltip: "Defines the amount times the text is updated in 1 second"
- ),
- m_audioTextUpdateRate.intValue,
- leftValue: 1,
- rightValue: 60
- );
- }
-
- #endregion
-
- GUILayout.Space(20);
-
- #region Section -> Advanced Settings
-
- m_advancedModuleInspectorToggle = EditorGUILayout.Foldout
- (
- m_advancedModuleInspectorToggle,
- content: " [ ADVANCED DATA ]",
- style: foldoutStyle
- );
-
- GUILayout.Space(5);
-
- if (m_advancedModuleInspectorToggle)
- {
- EditorGUILayout.PropertyField(m_advancedModulePosition);
-
- EditorGUILayout.PropertyField
- (
- m_advancedModuleState,
- new GUIContent
- (
- text: "Module state",
- tooltip: "FULL -> Text \nOFF -> Turned off"
- )
- );
- }
-
- #endregion;
-
- EditorGUIUtility.labelWidth = defaultLabelWidth;
- EditorGUIUtility.fieldWidth = defaultFieldWidth;
-
- serializedObject.ApplyModifiedProperties();
- }
-
- #endregion
-
- #region Methods -> Private
-
- private void LoadGuiStyles()
- {
- string path = GetMonoScriptFilePath(this);
-
- path = path.Split(separator: new string[] { "Assets" }, options: StringSplitOptions.None)[1]
- .Split(separator: new string[] { "Tayx" }, options: StringSplitOptions.None)[0];
-
- m_logoTexture = AssetDatabase.LoadAssetAtPath<Texture2D>
- (
- "Assets" +
- path +
- "Tayx/Graphy - Ultimate Stats Monitor/Textures/Manager_Logo_" +
- (EditorGUIUtility.isProSkin ? "White.png" : "Dark.png")
- );
-
- m_skin = AssetDatabase.LoadAssetAtPath<GUISkin>
- (
- "Assets" +
- path +
- "Tayx/Graphy - Ultimate Stats Monitor/GUI/Graphy.guiskin"
- );
-
- if (m_skin != null)
- {
- m_headerStyle1 = m_skin.GetStyle("Header1");
- m_headerStyle2 = m_skin.GetStyle("Header2");
-
- SetGuiStyleFontColor
- (
- guiStyle: m_headerStyle2,
- color: EditorGUIUtility.isProSkin ? Color.white : Color.black
- );
- }
- else
- {
- m_headerStyle1 = EditorStyles.boldLabel;
- m_headerStyle2 = EditorStyles.boldLabel;
- }
- }
-
- /// <summary>
- /// Sets the colors of the GUIStyle's text.
- /// </summary>
- /// <param name="guiStyle">
- /// The GUIStyle to be altered.
- /// </param>
- /// <param name="color">
- /// The color for the text.
- /// </param>
- private void SetGuiStyleFontColor(GUIStyle guiStyle, Color color) //TODO: Perhaps add a null check.
- {
- guiStyle.normal .textColor = color;
- guiStyle.hover .textColor = color;
- guiStyle.active .textColor = color;
- guiStyle.focused .textColor = color;
- guiStyle.onNormal .textColor = color;
- guiStyle.onHover .textColor = color;
- guiStyle.onActive .textColor = color;
- guiStyle.onFocused .textColor = color;
- }
-
- private string GetMonoScriptFilePath(ScriptableObject scriptableObject) //TODO: Perhaps add a null check.
- {
- MonoScript ms = MonoScript.FromScriptableObject(scriptableObject);
- string filePath = AssetDatabase.GetAssetPath(ms);
-
- FileInfo fi = new FileInfo(filePath);
-
- if (fi.Directory != null)
- {
- filePath = fi.Directory.ToString();
- return filePath.Replace
- (
- oldChar: '\\',
- newChar: '/'
- );
- }
- return null;
- }
-
- #endregion
- }
-} \ No newline at end of file
diff --git a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs.meta b/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs.meta
deleted file mode 100644
index 0d1145c..0000000
--- a/Assets/Packages/Tayx/Graphy - Ultimate Stats Monitor/Scripts/Editor/GraphyManagerEditor.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: f01a5c28e5127404da343db2a7409c10
-timeCreated: 1513764399
-licenseType: Store
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: