Exemple #1
0
        public static string SetMod()
        {
            int offset = 1;
            int select;

            do
            {
                Console.WriteLine("╔═╤╤═╡ SET MOD ╞════╗");
                Console.WriteLine("║0├┤ Cancel         ║");
                for (int i = 0; i < Mod.Count; i++)
                {
                    Console.WriteLine("║{0}├┤ {1,14} ║", i + offset, Mod.Mods[i].ToString().PadRight(14, ' '));
                }
                Console.WriteLine("╚═╧╧════════════════╝");
                Console.Write("> ");
                select = Formations.GetInt(Console.ReadLine());
                Console.Clear();

                if (select == 0)
                {
                    return(null);
                }
                else if (select >= offset && select < Mod.Count + offset)
                {
                    return(Mod.Mods[select - offset].Id);
                }
                else
                {
                    Formations.NotCorrect("Action");
                }
            }while (true);
        }
Exemple #2
0
        static bool EnterPassword()
        {
            Console.WriteLine("════╡ ENTER PASSWORD ╞════");
            Console.Write("> ");
            string password = Console.ReadLine();

            Console.Clear();

            if (password == "fox")
            {
                return(true);
            }
            else
            {
                Formations.NotCorrect("Password");
            }

            return(false);
        }
Exemple #3
0
        private static string SetInputOutput(InputOutput[] inputOutputs)
        {
            int offset = 2;
            int select;

            do
            {
                Console.WriteLine("╔═══╤╤═╡ SET ITEMS ╞══════╗");
                Console.WriteLine("║ 0 ├┤ Cancel             ║");
                Console.WriteLine("║ 1 ├┤ Set Null           ║");
                Console.WriteLine("╚═══╧╧════════════════════╝");

                for (int i = 0; i < inputOutputs.Length; i++)
                {
                    Console.WriteLine("║{0}├┤ {1}", i + offset, inputOutputs[i]);
                }

                Console.Write("> ");
                select = Formations.GetInt(Console.ReadLine());
                Console.Clear();

                if (select == 0)
                {
                    return("");
                }
                else if (select == 1)
                {
                    return(null);
                }
                else if (select >= offset && select < inputOutputs.Length + offset)
                {
                    return(inputOutputs[select - offset].Id);
                }
                else
                {
                    Formations.NotCorrect("Action");
                }
            }while (true);
        }
Exemple #4
0
        public static string SetType(string kind)
        {
            int offset = 1;
            int select;

            TypeItem[] typeItems = TypeItem.GetKind(kind);
            if (typeItems.Length == 0)
            {
                return(null);
            }

            do
            {
                Console.WriteLine("╔══╤╤═╡ SET MOD ╞═════╗");
                Console.WriteLine("║0 ├┤ Cancel          ║");
                for (int i = 0; i < typeItems.Length; i++)
                {
                    Console.WriteLine("║{0,2}├┤ {1,15} ║", (i + offset).ToString().PadRight(2, ' '), typeItems[i].ToString().PadRight(15, ' '));
                }
                Console.WriteLine("╚══╧╧═════════════════╝");
                Console.Write("> ");
                select = Formations.GetInt(Console.ReadLine());
                Console.Clear();

                if (select == 0)
                {
                    return(null);
                }
                else if (select >= offset && select < typeItems.Length + offset)
                {
                    return(typeItems[select - offset].Id);
                }
                else
                {
                    Formations.NotCorrect("Action");
                }
            }while (true);
        }
Exemple #5
0
        public static Item[] SetItems(bool onlyOne = false)
        {
            int offset = 3;

            string[]    input;
            double      amount;
            int         select;
            List <Item> items = new List <Item>();

            Material[] materials = Material.Materials;

            do
            {
                Console.WriteLine("╔═╤═╤═╡ SET ITEMS ╞═════╗");
                Console.WriteLine("║0├─┤ Cancel            ║");
                Console.WriteLine("║1├─┤ Set Null          ║");
                Console.WriteLine("║2├─┤ Done              ║");
                Console.WriteLine("╠═╧═╧═══════════════════╝");
                Console.WriteLine("║Result: {0}", string.Join(", ", items)); //show result
                Console.WriteLine("╚════════════════════════");
                ShowAll(offset, materials);                                  //Show items

                Console.Write("> ");
                input = Console.ReadLine().Split(' ');
                Console.Clear();

                select = Formations.GetInt(input.First());

                if (input.Length == 2)
                {
                    amount = Formations.GetDouble(input.Last());
                }
                else
                {
                    amount = 0;
                }

                if (select == 0)
                {
                    return(null);                             //Cancel
                }
                else if (select == 1)
                {
                    return(null);                                  //Set Null
                }
                else if (select == 2)
                {
                    return(items.ToArray());                                  //Done
                }
                else if (select >= offset && select < materials.Length + offset)
                {
                    bool repeat;                     //If result have error
                    do
                    {
                        repeat  = false;                        //No repeat do_while
                        select -= offset;                       //delete offset

                        if (amount == 0)
                        {
                            Console.WriteLine("══════╡ ENTER {0} ╞══════", materials[select].Name.ToUpper());
                            Console.Write("> ");
                            amount = Formations.GetDouble(Console.ReadLine());                             //Get amount of items
                            Console.Clear();
                        }

                        if (amount > 0)
                        {
                            items.Add(new Item {
                                Id = materials[select].Id, Amount = amount
                            });
                        }
                        else if (amount == 0)
                        {
                            break;
                        }
                        else
                        {
                            Formations.NotCorrect("Amount");
                            repeat = true;                             //Repeat do_while
                        }
                    }while (repeat);
                }                 //Select item
                else
                {
                    Formations.NotCorrect("Action");                  //Error
                }
                if (onlyOne && items != null)
                {
                    return(items.ToArray());
                }
            }while (true);
        }
        public static void Update(General general)
        {
            char select;

            do
            {
                Console.WriteLine("═════════╡ GENERAL ╞═════════");
                Console.WriteLine("ID: {0}", general.Id);
                Console.WriteLine("[1] Name: {0}", general.Name);
                Console.WriteLine("[2] Type: {0}", general.GetTypeMaterial);
                Console.WriteLine("[3] Description: {0}", general.Description);
                Console.WriteLine("[4] Health: {0}", general.Health);
                Console.WriteLine("[5] Size: {0}", general.Size);
                Console.WriteLine("[6] Build Time: {0}", general.BuildTime);
                Console.WriteLine("[7] Build Cost: {0}", general.BuildCosts);
                Console.WriteLine("[8] Mod: {0}", general.GetMod);
                Console.WriteLine("Weight: {0}", general.Weight);
                Console.WriteLine("[9] Save");
                Console.WriteLine("[0] Exit");

                Console.Write("> ");
                select = Console.ReadKey().KeyChar;
                Console.Clear();

                if (select == '0')
                {
                    bool allCorrect = true;

                    General targetGeneral = General.GetGeneral(general.Id);

                    if (targetGeneral != null && general.Name != targetGeneral.Name || general.Type != targetGeneral.Type || general.BuildCosts != targetGeneral.BuildCosts || general.Mod != targetGeneral.Mod)
                    {
                        allCorrect = false;
                    }
                    else if (general.Name != null || general.Type != null || general.BuildCosts != null || general.Mod != null)
                    {
                        allCorrect = false;
                    }

                    if (allCorrect)
                    {
                        return;
                    }
                    else
                    {
                        Console.WriteLine("═════════╡ YOU ARE SURE WANT TO EXIT? (Y - YES)╞═════════");
                        Console.Write("> ");
                        select = Console.ReadKey().KeyChar;
                        Console.Clear();

                        if (select.ToString().ToLower() == "y")
                        {
                            return;
                        }
                    }
                }
                else if (select == '1')
                {
                    string name = Formations.GetValue("name", "string");
                    if (name == null)
                    {
                        Formations.NotCorrect("Name");
                        continue;
                    }

                    if (General.Generals.Count(gen => gen.Name == name) != 0)
                    {
                        Console.WriteLine("═════════╡ THIS BUILDING ALREADY EXIST ╞═════════");
                        Console.WriteLine("1. Go to edit");
                        Console.WriteLine("0. Exit");

                        Console.Write("> ");
                        select = Console.ReadKey().KeyChar;
                        Console.Clear();

                        if (select == '1')
                        {
                            Update(General.Generals.Where(gen => gen.Name == name).First());
                            return;
                        }
                    }

                    general.Name = name;
                }
                else if (select == '2')
                {
                    string type = ManageType.SetType("Block");
                    if (type != null)
                    {
                        general.Type = type;
                    }
                }
                else if (select == '3')
                {
                    general.Description = Formations.GetValue("description", "string");
                }
                else if (select == '4')
                {
                    general.Health = Formations.GetValue("health", "int");
                }
                else if (select == '5')
                {
                    general.Size = Formations.GetValue("size", "size");
                }
                else if (select == '6')
                {
                    general.BuildTime = Formations.GetValue("build Time", "double");
                }
                else if (select == '7')
                {
                    Item[] buildCost = ManageMaterial.SetItems();
                    if (buildCost != null)
                    {
                        general.BuildCost = string.Join(";", buildCost.Select(inp => inp.Id + " " + inp.Amount));
                    }
                }
                else if (select == '8')
                {
                    string mod = ManageMod.SetMod();
                    if (mod != null)
                    {
                        general.Mod = mod;
                    }
                }
                else if (select == '9')
                {
                    bool allCorrect = true;

                    if (general.Name == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Name");
                    }
                    if (general.Type == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Type");
                    }
                    if (general.BuildCosts == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Build Cost");
                    }
                    if (general.Mod == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Mod");
                    }

                    if (allCorrect)
                    {
                        general.Save();
                        return;
                    }
                }
                else
                {
                    Formations.NotFound("Action");
                }
            }while (true);
        }
Exemple #7
0
        //REFACTORING
        public static string SetItems()
        {
            int offset = 3;

            string[] input;
            double   amount;
            int      select;
            string   items = string.Empty;

            General[] generals = General.Generals;

            do
            {
                Console.WriteLine("╔═╤═╤═╡ SET ITEMS ╞═════╗");
                Console.WriteLine("║0├─┤ Cancel            ║");
                Console.WriteLine("║1├─┤ Set Null          ║");
                Console.WriteLine("║2├─┤ Done              ║");
                Console.WriteLine("╠═╧═╧═══════════════════╝");
                ShowAll(offset);                 //Show items

                Console.Write("> ");
                input = Console.ReadLine().Split(' ');
                Console.Clear();

                select = Formations.GetInt(input.First());
                amount = Formations.GetDouble(input.Last());

                if (select == 0)
                {
                    return("");                             //Cancel
                }
                else if (select == 1)
                {
                    return(null);                                  //Set Null
                }
                else if (select == 2)
                {
                    return(items == string.Empty ? null : items);                                  //Done
                }
                else if (select >= offset && select < generals.Length + offset)
                {
                    bool repeat;                     //If result have error
                    do
                    {
                        repeat  = false;                        //No repeat do_while
                        select -= offset;                       //delete offset

                        if (amount == 0)
                        {
                            Console.WriteLine("══════╡ ENTER {0} ╞══════", generals[select].Name.ToUpper());
                            Console.Write("> ");
                            amount = Formations.GetDouble(Console.ReadLine());                             //Get amount of items
                        }

                        Console.Clear();

                        if (amount > 0)
                        {
                            if (items != string.Empty)
                            {
                                items += ";";
                            }
                            items += generals[select].Id + " " + amount.ToString();
                        }
                        else if (amount == 0)
                        {
                            break;
                        }
                        else
                        {
                            Formations.NotCorrect("Amount");
                            repeat = true;                             //Repeat do_while
                        }
                    }while (repeat);
                }                 //Select item
                else
                {
                    Formations.NotCorrect("Action");                  //Error
                }
                if (items != string.Empty)
                {
                    return(items);
                }
            }while (true);
        }
        public static void Update(InputOutput inputOutput)
        {
            char select;

            do
            {
                Console.WriteLine("═════════╡ INPUT/OUTPUT ╞═════════");
                Console.WriteLine("ID: {0}", inputOutput.Id);
                Console.WriteLine("Owner: {0}", General.Generals.Where(gen => gen.Id == inputOutput.GeneralId).First().Name);
                Console.WriteLine("[1] Input: {0}", inputOutput.Inputs == null ? "null" : string.Join(", ", inputOutput.Inputs.Select(sel => sel.ToString())));
                Console.WriteLine("[2] Output: {0}", inputOutput.Outputs == null ? "null" : string.Join(", ", inputOutput.Outputs.Select(sel => sel.ToString())));
                Console.WriteLine("[3] Production Time: {0}", inputOutput.ProductionTime);
                Console.WriteLine("Weight: {0}", inputOutput.Weight);
                Console.WriteLine("[8] Delete");
                Console.WriteLine("[9] Save");
                Console.WriteLine("[0] Exit");

                Console.Write("> ");
                select = Console.ReadKey().KeyChar;
                Console.Clear();

                if (select == '0')
                {
                    bool allCorrect = true;

                    if (inputOutput.ProductionTime != null || inputOutput.Inputs != null || inputOutput.Outputs != null)
                    {
                        allCorrect = false;
                    }

                    if (allCorrect)
                    {
                        return;
                    }
                    else
                    {
                        Console.WriteLine("═════════╡ YOU ARE SURE WANT TO EXIT? (Y - YES)╞═════════");
                        Console.Write("> ");
                        select = Console.ReadKey().KeyChar;
                        Console.Clear();

                        if (select.ToString().ToLower() == "y")
                        {
                            return;
                        }
                    }
                }
                else if (select == '1')
                {
                    Item[] input = ManageMaterial.SetItems();
                    if (input != null)
                    {
                        inputOutput.Input = string.Join(";", input.Select(inp => inp.Id + " " + inp.Amount));
                    }
                }
                else if (select == '2')
                {
                    Item[] output = ManageMaterial.SetItems(true);
                    if (output != null)
                    {
                        inputOutput.Output = string.Join(";", output.Select(inp => inp.Id + " " + inp.Amount));
                    }
                }
                else if (select == '3')
                {
                    inputOutput.ProductionTime = Formations.GetValue("Production Time", "double");
                }
                else if (select == '8')
                {
                    Console.WriteLine("═════════╡ TO DELETE {0}? (Y - YES)╞═════════", inputOutput.ToString().ToUpper());
                    Console.Write("> ");
                    select = Console.ReadKey().KeyChar;
                    Console.Clear();

                    if (select.ToString().ToLower() == "y")
                    {
                        inputOutput.Delete();
                        return;
                    }
                }
                else if (select == '9')
                {
                    bool allCorrect = true;

                    if (inputOutput.ProductionTime == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Production Time");
                    }
                    if (inputOutput.Inputs == null && inputOutput.Outputs == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Input or Output");
                    }

                    if (allCorrect)
                    {
                        inputOutput.Save();
                        return;
                    }
                }
                else
                {
                    Formations.NotFound("Action");
                }
            }while (true);
        }
Exemple #9
0
        public static void Update(Power power)
        {
            char select;

            do
            {
                Console.WriteLine("═════════╡ UPDATE POWER ╞═════════");
                Console.WriteLine("ID: {0}", power.Id);
                Console.WriteLine("General: {0}", power.GetGeneral.Name);
                Console.WriteLine("[1] Input Output: {0}", power.InputOutputId);
                Console.WriteLine("[2] Power Use: {0}", power.PowerUse);
                Console.WriteLine("[3] Power Capacity: {0}", power.PowerCapacity);
                Console.WriteLine("[4] Power Generation: {0}", power.PowerGeneration);
                Console.WriteLine("[8] Delete");
                Console.WriteLine("[9] Save");
                Console.WriteLine("[0] Exit");

                Console.Write("> ");
                select = Console.ReadKey().KeyChar;
                Console.Clear();

                if (select == '0')
                {
                    bool allCorrect = true;

                    if (power.PowerUse != null || power.PowerCapacity != null || power.PowerGeneration != null)
                    {
                        allCorrect = false;
                    }

                    if (allCorrect)
                    {
                        return;
                    }
                    else
                    {
                        Console.WriteLine("═════════╡ YOU ARE SURE WANT TO EXIT? (Y - YES)╞═════════");
                        Console.Write("> ");
                        select = Console.ReadKey().KeyChar;
                        Console.Clear();

                        if (select.ToString().ToLower() == "y")
                        {
                            return;
                        }
                    }
                }
                else if (select == '1')
                {
                    string id = SetInputOutput(power.GetGeneral.GetInputOutputs);

                    if (id != "")
                    {
                        power.InputOutputId = id;
                    }
                }
                else if (select == '2')
                {
                    power.PowerUse = Formations.GetValue("Power Use", "double");
                }
                else if (select == '3')
                {
                    power.PowerCapacity = Formations.GetValue("Power Capacity", "double");
                }
                else if (select == '4')
                {
                    power.PowerGeneration = Formations.GetValue("Power Generation", "double");
                }
                else if (select == '8' && Delete(power))
                {
                    return;
                }
                else if (select == '9')
                {
                    bool allCorrect = true;

                    if (power.PowerUse == null && power.PowerCapacity == null && power.PowerGeneration == null)
                    {
                        allCorrect = false;
                        Formations.NotCorrect("Power Use or Capacity or Generation");
                    }

                    if (allCorrect)
                    {
                        power.Save();
                        return;
                    }
                }
                else
                {
                    Formations.NotFound("Action");
                }
            }while (true);
        }