chore: Project Restructuring & Theatre
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
#if UNITY_EDITOR || DEVELOPMENT_BUILD
|
||||
using UnityEngine;
|
||||
using Unheimlich.Features.Player;
|
||||
using Unheimlich.Features.Diapason;
|
||||
using Unheimlich.Core.Audio;
|
||||
namespace Unheimlich.Dev
|
||||
{
|
||||
public class DiapasonDebugger : MonoBehaviour
|
||||
{
|
||||
[Header("Debug Display")]
|
||||
[SerializeField] private bool _showDebugInfo = true;
|
||||
[SerializeField] private bool _showGizmos = true;
|
||||
[SerializeField] private Color _listeningRangeColor = Color.cyan;
|
||||
[SerializeField] private Color _activeTargetColor = Color.green;
|
||||
|
||||
private DiapasonListeningHandlerV2 _listeningHandler;
|
||||
private AudioListenable[] _allListenables;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_listeningHandler = DiapasonListeningHandlerV2.Instance;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
RefreshListenablesList();
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
if (!_showDebugInfo || _listeningHandler == null)
|
||||
return;
|
||||
|
||||
GUILayout.BeginArea(new Rect(10, 10, 300, 200));
|
||||
GUILayout.Box("Diapason System Debug");
|
||||
|
||||
GUILayout.Label($"Is Listening: {_listeningHandler.IsListening}");
|
||||
GUILayout.Label($"Is Concentrating: {_listeningHandler.IsConcentrating}");
|
||||
|
||||
if (_allListenables != null)
|
||||
GUILayout.Label($"Total Listenables: {_allListenables.Length}");
|
||||
|
||||
if (GUILayout.Button("Refresh Listenables List"))
|
||||
RefreshListenablesList();
|
||||
|
||||
if (GUILayout.Button("Toggle Debug Gizmos"))
|
||||
_showGizmos = !_showGizmos;
|
||||
|
||||
GUILayout.EndArea();
|
||||
}
|
||||
|
||||
private void RefreshListenablesList()
|
||||
{
|
||||
_allListenables = FindObjectsByType<AudioListenable>(FindObjectsSortMode.None);
|
||||
if (!_showDebugInfo)
|
||||
return;
|
||||
Debug.Log($"Found {_allListenables.Length} AudioListenable objects in scene");
|
||||
}
|
||||
|
||||
private void OnDrawGizmos()
|
||||
{
|
||||
if (!_showGizmos)
|
||||
return;
|
||||
|
||||
if (_allListenables == null)
|
||||
_allListenables = FindObjectsByType<AudioListenable>(FindObjectsSortMode.None);
|
||||
|
||||
foreach (AudioListenable listenable in _allListenables)
|
||||
{
|
||||
if (listenable == null)
|
||||
continue;
|
||||
|
||||
Gizmos.color = _listeningRangeColor;
|
||||
Gizmos.DrawIcon(listenable.transform.position, "sv_icon_dot3_pix16_gizmo", true);
|
||||
|
||||
Gizmos.color = new Color(_listeningRangeColor.r, _listeningRangeColor.g, _listeningRangeColor.b, 0.1f);
|
||||
Gizmos.DrawSphere(listenable.transform.position, 0.2f);
|
||||
}
|
||||
|
||||
if (_listeningHandler != null && _listeningHandler.IsListening)
|
||||
{
|
||||
Gizmos.color = _activeTargetColor;
|
||||
}
|
||||
}
|
||||
|
||||
[ContextMenu("List All Listenables")]
|
||||
private void ListAllListenables()
|
||||
{
|
||||
RefreshListenablesList();
|
||||
|
||||
Debug.Log("=== Audio Listenables in Scene ===");
|
||||
foreach (AudioListenable listenable in _allListenables)
|
||||
{
|
||||
if (listenable != null)
|
||||
Debug.Log($"- {listenable.gameObject.name} (Type: {listenable.GetType().Name})");
|
||||
}
|
||||
}
|
||||
|
||||
[ContextMenu("Enable All Listenables")]
|
||||
private void EnableAllListenables()
|
||||
{
|
||||
RefreshListenablesList();
|
||||
foreach (AudioListenable listenable in _allListenables)
|
||||
{
|
||||
if (listenable != null)
|
||||
listenable.enabled = true;
|
||||
}
|
||||
Debug.Log("Enabled all AudioListenable components");
|
||||
}
|
||||
|
||||
[ContextMenu("Disable All Listenables")]
|
||||
private void DisableAllListenables()
|
||||
{
|
||||
RefreshListenablesList();
|
||||
foreach (AudioListenable listenable in _allListenables)
|
||||
{
|
||||
if (listenable != null)
|
||||
listenable.enabled = false;
|
||||
}
|
||||
Debug.Log("Disabled all AudioListenable components");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user