Example #1
0
        /// <summary>
        /// Stores an INFO message to be logged
        /// </summary>
        /// <param name="Message">The message text</param>
        /// <param name="WorkingFile">The ConFile being processed for this message</param>
        /// <param name="LineNumber">The ConFile line number being processed for this message</param>
        public static void Info(string Message, ConFile WorkingFile = null, int LineNumber = 0)
        {
            if (Enabled)
            {
                LogEntry entry = new LogEntry()
                {
                    Type = LogEntryType.Info,
                    Message = Message,
                    File = WorkingFile,
                    Line = LineNumber
                };

                lock (_syncObj)
                {
                    Messages.Add(entry);

                    if (OnMessageLogged != null)
                        OnMessageLogged(null, entry);
                }
            }
        }
Example #2
0
        /// <summary>
        /// Loads every .ai file and parses it for use within this form
        /// </summary>
        protected async void ParseTemplates()
        {
            // Clear nodesand Globals!
            treeView1.Nodes.Clear();
            //ObjectManager.ReleaseAll();

            try
            {
                var timer = Stopwatch.StartNew();

                // Load Kits
                LoadKitTemplate();

                // Load Vehicle templates
                await LoadTemplates("Vehicles");

                // Load Weapon templates
                await LoadTemplates("Weapons");

                //Create a new log entry with parsing details
                timer.Stop();
                LogEntry entry = new LogEntry()
                {
                    Type = LogEntryType.Info,
                    Message = String.Format(
                    "========== Loaded Objects in {3} seconds: {0} succeeded, {2} failed, {1} skipped ==========",
                        NameSpace.TotalObjectsLoaded, 
                        Logger.Warnings.Count, 
                        Logger.Errors.Count,
                        $"{timer.Elapsed.Seconds}.{timer.Elapsed.Milliseconds}"
                    )
                };

                // Append an empry entry (line break), and the Final message
                Logger.Messages.Add(new LogEntry());
                Logger.Messages.Add(entry);

                // Update Loaded objects
                //ObjectsLoadedLabel.Text = ObjectManager.ObjectsCount.ToString();
                ErrorsStripButton.Enabled = Logger.Errors.Count > 0;
                ErrorsStripButton.Text = Logger.Errors.Count + " Errors";
                WarningsStripButton.Enabled = Logger.Warnings.Count > 0;
                WarningsStripButton.Text = Logger.Warnings.Count + " Warnings";

                // Finally
                LogPage = LogEntryType.Error; // Force redraw
                MessagesStripButton_Click(this, EventArgs.Empty);

                // Refresh this process
                myProcess.Refresh();

                // DO garabge collection first, to get the most accurate memory size
                GC.Collect();

                // Update label
                MemoryUsageLabel.Text = String.Format(
                    new FileSizeFormatProvider(),
                    "{0:fs1}", myProcess.PrivateMemorySize64
                );
            }
            catch { }
        }
Example #3
0
        /// <summary>
        /// Stores an ERROR message to be logged
        /// </summary>
        /// <param name="error">The message text</param>
        /// <param name="file">The ConFile being processed for this message</param>
        /// <param name="line">The ConFile line number being processed for this message</param>
        public static void Error(string error, ConFile file = null, int line = 0, Exception exception = null)
        {
            if (Enabled)
            {
                LogEntry entry = new LogEntry()
                {
                    Type = LogEntryType.Error,
                    Message = error,
                    File = file,
                    Line = line,
                    ExceptionObj = exception
                };

                lock (_syncObj)
                {
                    Messages.Add(entry);
                    Errors.Add(entry);

                    if (OnMessageLogged != null)
                        OnMessageLogged(null, entry);
                }
            }
        }