using System.Collections.Generic; using gay.lilyy.logger; using UnityEngine; namespace gay.lilyy.aaccore { public class V5AACLogger : BaseLogger { private static V5AACLogger _instance; public static V5AACLogger Instance => _instance ??= new V5AACLogger(); protected override string SystemName => "AACCore"; protected override Dictionary LogColors => new() { { LogLevel.Info, "#87CEEB" }, // Sky Blue { LogLevel.Warning, "#FFA500" }, // Orange { LogLevel.Error, "#FF6B6B" }, // Red { LogLevel.Success, "#90EE90" }, // Light Green { LogLevel.Debug, "#DDA0DD" } // Plum }; protected override Dictionary LogPrefixes => new() { { LogLevel.Info, "ℹ️" }, { LogLevel.Warning, "⚠️" }, { LogLevel.Error, "❌" }, { LogLevel.Success, "✅" }, { LogLevel.Debug, "🐛" } }; // Static convenience methods for easy access public static void LogInfo(string message, Object context = null) => Instance.Info(message, context); public static void LogWarning(string message, Object context = null) => Instance.Warning(message, context); public static void LogError(string message, Object context = null) => Instance.Error(message, context); public static void LogSuccess(string message, Object context = null) => Instance.Success(message, context); public static void LogDebug(string message, Object context = null) => Instance.Debug(message, context); } public class V5AACLayerGroupLogger : BaseLogger { private readonly string _layerName; public V5AACLayerGroupLogger(string layerName) { _layerName = layerName; } protected override string SystemName => $"AACCore [{_layerName}] "; protected override Dictionary LogColors => new() { { LogLevel.Info, "#87CEEB" }, { LogLevel.Warning, "#FFA500" }, { LogLevel.Error, "#FF6B6B" }, { LogLevel.Success, "#90EE90" }, { LogLevel.Debug, "#DDA0DD" } }; protected override Dictionary LogPrefixes => new(); // Convenience methods for easy access public void LogInfo(string message, Object context = null) => Info(message, context); public void LogWarning(string message, Object context = null) => Warning(message, context); public void LogError(string message, Object context = null) => Error(message, context); public void LogSuccess(string message, Object context = null) => Success(message, context); public void LogDebug(string message, Object context = null) => Debug(message, context); } }