Esempio n. 1
0
        /// <summary>
        /// Performs the underlining write to the Unity Console
        /// </summary>
        /// <param name="levels">The levels.</param>
        /// <param name="message">The message.</param>
        /// <param name="args">The arguments.</param>
        //protected abstract void Write(LogLevels levels, string message, object[] args);
        protected void Write(LogLevels levels, string message, object[] args)
        {
            string formattedMessage = (args != null && args.Length > 0) ? string.Format(CultureInfo.InvariantCulture, message, args) : message;
            string internalMessage  = CreateMessage(levels, formattedMessage);

            if (levels.Has(LogLevels.Info) || levels.Has(LogLevels.Debug) || levels.Has(LogLevels.Trace))
            {
                UnityEngine.Debug.Log(internalMessage);
            }
            else if (levels.Has(LogLevels.Warn))
            {
                UnityEngine.Debug.LogWarning(internalMessage);
            }
            else if (levels.Has(LogLevels.Error) || levels.Has(LogLevels.Fatal))
            {
                UnityEngine.Debug.LogError(internalMessage);
            }
            else if (levels.Has(LogLevels.Assert))
            {
                UnityEngine.Assertions.Assert.IsTrue(false, internalMessage);
            }
        }