using R3; using UnityEngine; namespace GameCult.Logging.Unity { /// /// Adapts calls to Unity's logging facilities. /// public class UnityLogger : ILogger { private readonly bool _isDebugBuild = Debug.isDebugBuild; // Cache Unity-specific /// public void LogInfo(string message) { Observable.NextFrame().Subscribe(_ => Debug.Log($"[INFO] {message}")); } /// public void LogWarning(string message) { Observable.NextFrame().Subscribe(_ => Debug.LogWarning($"[WARN] {message}")); } /// public void LogError(string message) { Observable.NextFrame().Subscribe(_ => Debug.LogError($"[ERROR] {message}")); } /// public void LogDebug(string message) { if (_isDebugBuild) Observable.NextFrame().Subscribe(_ => Debug.Log($"[DEBUG] {message}")); } } }