public DebugConsole(GameObject parent) { Instance = this; ConstructUI(parent); // append messages that logged before we were set up string preAppend = ""; for (int i = s_preInitMessages.Count - 1; i >= 0; i--) { var msg = s_preInitMessages[i]; if (preAppend != "") { preAppend += "\r\n"; } preAppend += msg; } m_textInput.text = preAppend; // set up IO if (!SaveToDisk) { return; } var path = ExplorerCore.EXPLORER_FOLDER + @"\Logs"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } // clean old log(s) var files = Directory.GetFiles(path); if (files.Length >= 10) { var sorted = files.ToList(); // sort by 'datetime.ToString("u")' will put the oldest ones first sorted.Sort(); for (int i = 0; i < files.Length - 9; i++) { File.Delete(files[i]); } } var fileName = "UnityExplorer " + DateTime.Now.ToString("u") + ".txt"; fileName = ExplorerCore.RemoveInvalidFilenameChars(fileName); var stream = File.Create(path + @"\" + fileName); s_streamWriter = new StreamWriter(stream) { AutoFlush = true }; foreach (var msg in AllMessages) { s_streamWriter.WriteLine(msg); } }