コード例 #1
0
ファイル: Input.cs プロジェクト: TomasVoskovec/LittleFighter
        public Element EditElement()
        {
            List <Element> elements        = new JsonFileManager().LoadElements("../../../../AppData/Elements.json");
            Element        selectedElement = GetSelectedElement(elements);
            Element        editedElement   = new Element(selectedElement.Name, selectedElement.HeighEfectivityElements, selectedElement.LowEfectivityElements);

            bool update = true;

            while (update)
            {
                Console.WriteLine("[1] - Change name");
                Console.WriteLine("[2] - Change high efective elements");
                Console.WriteLine("[3] - Change low efective elements");
                Console.WriteLine("[4] - Delete Element");
                Console.WriteLine("[0] - Update");

                char selectedItem = Console.ReadKey().KeyChar;


                Console.Clear();
                switch (selectedItem)
                {
                case '1':
                    Console.WriteLine("#### CHANGE NAME ####");
                    editedElement.Name = GetElementName();
                    break;

                case '2':
                    Console.WriteLine("#### CHANGE HIGH EFECTIVITY ELEMENTS ####");
                    editedElement.HeighEfectivityElements = GetSelectedElements(new JsonFileManager().LoadElements("../../../../AppData/Elements.json"));
                    break;

                case '3':
                    Console.WriteLine("#### CHANGE LOW EFECTIVITY ELEMENTS ####");
                    editedElement.LowEfectivityElements = GetSelectedElements(new JsonFileManager().LoadElements("../../../../AppData/Elements.json"));
                    break;

                case '4':
                    elements.RemoveAll(element => element.Name == selectedElement.Name);
                    update = false;
                    break;

                case '0':
                    update = false;
                    break;

                default:
                    Console.Clear();
                    Console.WriteLine("ERROR: Wrong value");
                    break;
                }
            }

            foreach (Element element in elements)
            {
                if (element.Name == selectedElement.Name)
                {
                    element.Name = editedElement.Name;
                    element.HeighEfectivityElements = editedElement.HeighEfectivityElements;
                    element.LowEfectivityElements   = editedElement.LowEfectivityElements;

                    Console.WriteLine("Element updated");

                    break;
                }
            }

            Console.Clear();

            new JsonFileManager().UpdateElementsList(elements, "../../../../AppData/Elements.json");

            return(editedElement);
        }