using System; using UnityEngine; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; namespace SuperTiled2Unity.Editor { public static class StringExtensions { private static readonly char[] SeparatorArray = new char[] { '/' }; public static bool IsNullOrWhiteSpace(this string value) { #if NET_LEGACY // From: https://referencesource.microsoft.com/#mscorlib/system/string.cs if (value == null) return true; for (int i = 0; i < value.Length; i++) { if (!Char.IsWhiteSpace(value[i])) return false; } return true; #else return string.IsNullOrWhiteSpace(value); #endif } public static byte[] Base64ToBytes(this string data) { byte[] bytes = Convert.FromBase64String(data); return bytes; } public static string SanitizePath(this string path) { if (string.IsNullOrEmpty(path)) { return string.Empty; } // Only forward slashes path = path.Replace('\\', '/'); // Remove repeated slashes, slash at start, and slash at end path = string.Join("/", path.Split(SeparatorArray, StringSplitOptions.RemoveEmptyEntries)); return path; } public static void CopyToClipboard(this string str) { TextEditor te = new TextEditor { text = str }; te.SelectAll(); te.Copy(); } } }