Unity-WebSocket/Assets/FishNet/Runtime/Managing/Logging/Editor/LevelLoggingConfigurationEditor.cs
2025-06-28 11:28:54 +03:30

67 lines
2.2 KiB
C#

#if UNITY_EDITOR
using GameKit.Dependencies.Utilities;
using UnityEditor;
namespace FishNet.Managing.Logging.Editing
{
[CustomEditor(typeof(LevelLoggingConfiguration), true)]
[CanEditMultipleObjects]
public class LevelLoggingConfigurationEditor : Editor
{
private SerializedProperty _isEnabled;
private SerializedProperty _addLocalTick;
private SerializedProperty _addTimestamps;
private SerializedProperty _enableTimestampsInEditor;
private SerializedProperty _developmentLogging;
private SerializedProperty _guiLogging;
private SerializedProperty _headlessLogging;
protected virtual void OnEnable()
{
_isEnabled = serializedObject.FindProperty(nameof(_isEnabled).MemberToPascalCase());
_addLocalTick = serializedObject.FindProperty(nameof(_addLocalTick));
_addTimestamps = serializedObject.FindProperty(nameof(_addTimestamps));
_enableTimestampsInEditor = serializedObject.FindProperty(nameof(_enableTimestampsInEditor));
_developmentLogging = serializedObject.FindProperty(nameof(_developmentLogging));
_guiLogging = serializedObject.FindProperty(nameof(_guiLogging));
_headlessLogging = serializedObject.FindProperty(nameof(_headlessLogging));
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(_isEnabled);
if (_isEnabled.boolValue == false)
return;
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(_addLocalTick);
EditorGUILayout.PropertyField(_addTimestamps);
if (_addTimestamps.boolValue == true)
{
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(_enableTimestampsInEditor);
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(_developmentLogging);
EditorGUILayout.PropertyField(_guiLogging);
EditorGUILayout.PropertyField(_headlessLogging);
EditorGUI.indentLevel--;
serializedObject.ApplyModifiedProperties();
}
}
}
#endif