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 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); } } }