コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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);
                }
            }
        }