static void ExtractOption(string packagename, string projectbasedir, UsmJsonModel projectUsm) { CreateHeader(); //DO YOU WANT TO CREATE PROJ ,, AND SELECT PACKAGE Console.Write($"Do you want to extract package "); ColoredConsoleWrite(ConsoleColor.Green, $"\"{packagename}\""); Console.WriteLine(" to project based on this settings?"); ColoredConsoleWrite(ConsoleColor.Black, "----------------------------------------------------------------------\n"); ColoredConsoleWrite(ConsoleColor.Yellow, "Game name: "); Console.WriteLine($"{projectUsm.ProjectSettings.GameName}"); ColoredConsoleWrite(ConsoleColor.Yellow, "Description: "); Console.WriteLine($"{projectUsm.ProjectSettings.Description}"); ColoredConsoleWrite(ConsoleColor.Yellow, "Url: "); Console.WriteLine($"{projectUsm.ProjectSettings.Url}"); ColoredConsoleWrite(ConsoleColor.Black, "----------------------------------------------------------------------\n"); Console.Write("[Y/N]:"); ConsoleKeyInfo answer = Console.ReadKey(); switch (answer.Key) { case ConsoleKey.Y: UsmJsonHelper.ExtractPackage(packagename, projectbasedir, projectUsm, CallBackError); break; } }
static bool CreateNewUsmJsonOption(string projectusmpath, string projectbasedir) { ColoredConsoleWrite(ConsoleColor.White, $"Couldn`t locate {projectusmpath}\n", ConsoleColor.Red); Console.Write($"Do you want to create "); ColoredConsoleWrite(ConsoleColor.Cyan, "(default) "); Console.Write($"{UsmJsonHelper.FileName} in this location? [Y/N]:"); ConsoleKeyInfo answer = Console.ReadKey(); switch (answer.Key) { case ConsoleKey.Y: UsmJsonHelper.InitializeNewUsmJson(projectbasedir); return(true); } return(false); }
static void Main() { Console.BackgroundColor = ConsoleColor.DarkCyan; Console.ForegroundColor = ConsoleColor.White; CreateHeader(); ColoredConsoleWrite(ConsoleColor.White, "What do you want to do?\n"); ColoredConsoleWrite(ConsoleColor.Black, "-----------------------\n"); Console.Write("1. Create "); ColoredConsoleWrite(ConsoleColor.Yellow, "Skeleton"); Console.Write(" from existing package [{0}]\n", UsmJsonHelper.UsmPackagefilesuffix); Console.Write("2. Create "); ColoredConsoleWrite(ConsoleColor.Green, "Package"); Console.Write(" from existing folder\n"); ConsoleKeyInfo selected = Console.ReadKey(); switch (selected.Key) { case ConsoleKey.D1: CreateSkeletonOption(); break; case ConsoleKey.D2: CreatePackageOption(); break; case ConsoleKey.X: var ps = UsmJsonHelper.ReadProjectUsm(AppDomain.CurrentDomain.BaseDirectory); ReadmeCreator.CreateReadme(AppDomain.CurrentDomain.BaseDirectory, ps.ProjectSettings, CallBackError); break; } ColoredConsoleWrite(ConsoleColor.Green, "\nThanks for using Unity Skeleton Maker!\t(press [R] to restart)"); ConsoleKeyInfo exit = Console.ReadKey(); switch (exit.Key) { case ConsoleKey.R: Main(); break; } }
static void CreateSkeletonOption() { CreateHeader(); Console.WriteLine("Select path to create skeleton [dest]:"); var projectbasedir = Console.ReadLine(); //check if project is git if (!UsmJsonHelper.IsProjectGitRepo(projectbasedir)) { ColoredConsoleWrite(ConsoleColor.White, "Selected path must be GIT project directory!\nPlease create empty git repository and clone it to local folder.", ConsoleColor.Red); Console.ReadKey(); return; } var projectusmpath = UsmJsonHelper.GetProjectUsmpath(projectbasedir); //If usm.json exist try to create it if (!UsmJsonHelper.IsProjectUsmExists(projectbasedir)) { if (CreateNewUsmJsonOption(projectusmpath, projectbasedir)) { CallBackMessage("Created usm.json file in project directory!\n"); ColoredConsoleWrite(ConsoleColor.Black, $"Now you can modify settings of your project in {projectusmpath}\n", ConsoleColor.Green); Console.WriteLine("\nPress [enter] to continue!"); Console.ReadKey(); } } //check if usm.json exist and extract skeleton if (UsmJsonHelper.IsProjectUsmExists(projectbasedir)) { CreateHeader(); var skeletons = UsmPackageHelper.GetAllSkeletonsAvailiable(); int i = 0; Console.WriteLine("Availiable skeleton packages:"); ColoredConsoleWrite(ConsoleColor.Black, "-----------------------------\n"); foreach (var skeleton in skeletons) { i++; ConsoleColor bc = i % 2 == 0 ? ConsoleColor.Gray : ConsoleColor.Cyan; var str = MakeOneLine($"{i}." + skeleton.Name.Replace(UsmJsonHelper.UsmPackagefilesuffix, "")); ColoredConsoleWrite(ConsoleColor.Black, str + "\n", bc); } Console.Write("\nSelect package [number]:"); var num = Console.ReadLine(); if (string.IsNullOrEmpty(num)) { return; } int numero = int.Parse(num); if (numero == 0) { return; } if (numero <= skeletons.Count) { UsmJsonModel projusm = UsmJsonHelper.ReadProjectUsm(projectbasedir); FileInfo k = skeletons[numero - 1]; ExtractOption(k.Name.Replace(UsmJsonHelper.UsmPackagefilesuffix, ""), projectbasedir, projusm); } } }