void OnPostprocessTexture(Texture2D texture) { string lowerCaseAssetPath = assetPath.ToLower(); if (!lowerCaseAssetPath.Contains("gif2sprite")) { return; } // split gif into sprite sheet if (lowerCaseAssetPath.EndsWith(".gif")) { ConvertWindow convertSettings = EditorWindow.CreateInstance <ConvertWindow>(); convertSettings.Init(assetPath, this); } }
static void Main(string[] args) { Console.WriteLine("DRAL V." + Assembly.GetEntryAssembly().GetName().Version); if (args.Contains("--help") || args.Contains("-h")) { Console.WriteLine("./DRAL [ --help | -h ] [--new | -n | --retag | -r | --show | -s ] [ --no-window | --cli ] [ --fix-dataset | --fix | -f ]"); Console.WriteLine(" -f, --fix, --fix-dataset"); Console.WriteLine(" Run the fix dataset command"); Console.WriteLine(" -h, --help"); Console.WriteLine(" Display this help"); Console.WriteLine(" -n, --new"); Console.WriteLine(" Start in tagger mode"); Console.WriteLine(" --no-window, --cli "); Console.WriteLine(" Run in command line mode"); Console.WriteLine(" -r, --retag"); Console.WriteLine(" Start in retagger mode"); Console.WriteLine(" -s, --show"); Console.WriteLine(" Start in display mode"); Console.WriteLine(" --in {file}, -i {file}"); Console.WriteLine(" [mandatory]Input file for the display, imply --cli"); Console.WriteLine(" --out {file}, -o {file}"); Console.WriteLine(" Output file for the display, imply --cli"); Console.WriteLine(" --skip {n}"); Console.WriteLine(" Skip 'n' file(s) while fixing"); Console.WriteLine(" --take {n}"); Console.WriteLine(" Take 'n' file(s) while fixing"); Console.WriteLine(" --verbose, -v"); Console.WriteLine(" Activate verbose mode"); return; } if (args.Contains("-v") || args.Contains("--verbose")) { verbose = true; } try { Gtk.Application.Init(); } catch { Console.WriteLine("Installing Gtk libraries for current user"); WebClient wc = new WebClient(); wc.DownloadFile("https://zergling.moyskleytech.com/dataset/DRAL/Gtk.zip", "Gtk.zip"); ZipFile.ExtractToDirectory("Gtk.zip", Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)); System.IO.File.Delete("Gtk.zip"); Console.WriteLine("Please run DRAL again."); return; } if (args.Contains("--out")) { var outIdx = Array.IndexOf(args, "--out"); file_out = args[outIdx + 1]; } if (args.Contains("-o")) { var outIdx = Array.IndexOf(args, "-o"); file_out = args[outIdx + 1]; } if (args.Contains("--in")) { var inIdx = Array.IndexOf(args, "--in"); file_in = args[inIdx + 1]; } if (args.Contains("-i")) { var inIdx = Array.IndexOf(args, "-i"); file_in = args[inIdx + 1]; } if (args.Contains("--skip")) { var skipIdx = Array.IndexOf(args, "--skip"); skip = int.Parse(args[skipIdx + 1]); } if (args.Contains("--take")) { var takeIdx = Array.IndexOf(args, "--take"); take = int.Parse(args[takeIdx + 1]); } DRALWindow window = new ErrorWindow(); if (args.Contains("--no-window") || args.Contains("--cli") || ((args.Contains("-s") || args.Contains("--show")) && (args.Contains("--out") || args.Contains("-o")))) { withWindow = false; } if (args.Contains("--new") || args.Contains("-n")) { window = new NewTagWindow(); } if (args.Contains("--show") || args.Contains("-s")) { window = new ShowWindow(); } if (args.Contains("--convert") || args.Contains("-c")) { window = new ConvertWindow(); } if (args.Contains("--retag") || args.Contains("-r") || window == null) { window = new RetagWindow(); } if (withWindow && window is ErrorWindow) { Console.Error.WriteLine("missing action argument"); return; } if (withWindow) { window.Show(); } if (args.Contains("--fix") || args.Contains("-f") || args.Contains("--fix-dataset") || (window is ShowWindow && (args.Contains("--out") || args.Contains("-o")))) { autoClose = true; _ = Task.Run(async() => { await Task.Delay(500); await window.Fix(); await Task.Delay(3000); Application.Quit(); }); Application.Run(); } if (withWindow && !autoClose) { Application.Run(); } }