using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using AppleHills.Core.Settings;
using Core;
public class DebugUIMessage : MonoBehaviour
{
private static DebugUIMessage instance;
private Text messageText;
private Canvas canvas;
private Coroutine hideCoroutine;
///
/// Show a debug message on the UI for a set duration.
///
/// The message to display.
/// How long to display the message (seconds).
///
public static void Show(string message, Color displayColor, float duration = 2f)
{
#if UNITY_EDITOR
var divingDevSettings = DeveloperSettingsProvider.Instance.GetSettings();
if (divingDevSettings && !divingDevSettings.ShowDebugUiMessages)
{
Logging.Debug($"[DebugUIMessage] Loggig debug message: {message}");
return;
}
if (instance == null)
{
var go = new GameObject("DebugUIMessage");
instance = go.AddComponent();
instance.SetupUI();
DontDestroyOnLoad(go);
}
instance.ShowMessage(message, duration, displayColor);
# else
Logging.Debug($"[DebugUIMessage] Loggig debug message: {message}");
#endif
}
///
/// Sets up the UI canvas and text for debug messages.
///
private void SetupUI()
{
canvas = new GameObject("DebugUICanvas").AddComponent