public static void Log(string s)
        {
            string namesection = GetNameSection();

            Imports.Logger_Log(namesection + s);
            if (!Imports.IsDebugMode() && Console.Enabled)
            {
                bool rainbow_check = RainbowCheck();
                System.Console.Write("[");
                if (!rainbow_check)
                {
                    Imports.Console_SetColor(ConsoleColor.Green);
                }
                System.Console.Write(GetTimestamp());
                if (!rainbow_check)
                {
                    Imports.Console_SetColor(ConsoleColor.Gray);
                }
                System.Console.Write("] [");
                if (!rainbow_check)
                {
                    Imports.Console_SetColor(ConsoleColor.Magenta);
                }
                System.Console.Write("MelonLoader");
                if (!rainbow_check)
                {
                    Imports.Console_SetColor(ConsoleColor.Gray);
                }
                System.Console.WriteLine("] " + namesection + s);
                if (rainbow_check)
                {
                    Imports.Console_SetColor(ConsoleColor.Gray);
                }
            }
        }
 private static bool RainbowCheck()
 {
     if (Imports.IsRainbowMode() || Imports.IsRandomRainbowMode())
     {
         if (Imports.IsRandomRainbowMode())
         {
             Imports.Console_SetColor((ConsoleColor)rainbowrand.Next(1, (int)ConsoleColor.White));
         }
         else
         {
             Imports.Console_SetColor(rainbow);
             rainbow++;
             if (rainbow > ConsoleColor.White)
             {
                 rainbow = ConsoleColor.DarkBlue;
             }
             else if (rainbow == ConsoleColor.Gray)
             {
                 rainbow++;
             }
         }
         return(true);
     }
     return(false);
 }
        public static void Log(ConsoleColor color, string s)
        {
            string namesection = GetNameSection();

            Imports.Logger_LogColor((namesection + s), color);
            if (!Imports.IsDebugMode() && Console.Enabled)
            {
                Imports.Console_SetColor(color);
                RainbowCheck();
                System.Console.WriteLine("[" + GetTimestamp() + "] [MelonLoader] " + namesection + s);
                Imports.Console_SetColor(ConsoleColor.Gray);
            }
        }
        public static void LogWarning(string s, params object[] args)
        {
            string namesection = GetNameSection();
            var    formatted   = string.Format(s, args);

            Imports.Logger_LogWarning(namesection, formatted);
            if (!Imports.IsDebugMode() && Console.Enabled)
            {
                Imports.Console_SetColor(ConsoleColor.Yellow);
                RainbowCheck();
                System.Console.WriteLine("[" + GetTimestamp() + "] [MelonLoader] " + namesection + "[Warning] " + formatted);
                Imports.Console_SetColor(ConsoleColor.Gray);
            }
        }
 internal static void LogModError(string msg, string modname)
 {
     if (ErrorCount < MaxErrorCount)
     {
         string namesection = (string.IsNullOrEmpty(modname) ? "" : ("[" + modname.Replace(" ", "_") + "] "));
         Imports.Logger_LogModError(namesection, msg);
         if (!Imports.IsDebugMode() && Console.Enabled)
         {
             Imports.Console_SetColor(ConsoleColor.Yellow);
             RainbowCheck();
             System.Console.WriteLine("[" + GetTimestamp() + "] [MelonLoader] " + namesection + "[Error] " + msg);
             Imports.Console_SetColor(ConsoleColor.Gray);
         }
         ErrorCount++;
     }
 }
 public static void LogError(string s)
 {
     if (ErrorCount < MaxErrorCount)
     {
         string namesection = GetNameSection();
         Imports.Logger_LogError(namesection, s);
         if (!Imports.IsDebugMode() && Console.Enabled)
         {
             Imports.Console_SetColor(ConsoleColor.Red);
             RainbowCheck();
             System.Console.WriteLine("[" + GetTimestamp() + "] [MelonLoader] " + namesection + "[Error] " + s);
             Imports.Console_SetColor(ConsoleColor.Gray);
         }
         ErrorCount++;
     }
 }
 internal static void LogModStatus(int type)
 {
     Imports.Logger_LogModStatus(type);
     if (!Imports.IsDebugMode() && Console.Enabled)
     {
         bool rainbow_check = RainbowCheck();
         System.Console.Write("[");
         if (!rainbow_check)
         {
             Imports.Console_SetColor(ConsoleColor.Green);
         }
         System.Console.Write(GetTimestamp());
         if (!rainbow_check)
         {
             Imports.Console_SetColor(ConsoleColor.Gray);
         }
         System.Console.Write("] [");
         if (!rainbow_check)
         {
             Imports.Console_SetColor(ConsoleColor.Magenta);
         }
         System.Console.Write("MelonLoader");
         if (!rainbow_check)
         {
             Imports.Console_SetColor(ConsoleColor.Gray);
         }
         System.Console.Write("] ");
         if (!rainbow_check)
         {
             Imports.Console_SetColor(ConsoleColor.Blue);
         }
         System.Console.Write("Status: ");
         if (type == 0)
         {
             if (!rainbow_check)
             {
                 Imports.Console_SetColor(ConsoleColor.Cyan);
             }
             System.Console.WriteLine("Universal");
         }
         else if (type == 1)
         {
             if (!rainbow_check)
             {
                 Imports.Console_SetColor(ConsoleColor.Green);
             }
             System.Console.WriteLine("Compatible");
         }
         else if (type == 2)
         {
             if (!rainbow_check)
             {
                 Imports.Console_SetColor(ConsoleColor.Yellow);
             }
             System.Console.WriteLine("No MelonModGameAttribute!");
         }
         else
         {
             if (!rainbow_check)
             {
                 Imports.Console_SetColor(ConsoleColor.Red);
             }
             System.Console.WriteLine("INCOMPATIBLE!");
         }
         Imports.Console_SetColor(ConsoleColor.Gray);
     }
 }