예제 #1
0
    void OnClickCategoryButton(int index)
    {
        currentCategory = (Item.Category)index;

        Button previouslySelectedCategoryButton = selectedCategoryButton;
        Text   previouslySelectedCategoryText   = selectedCategoryText;

        selectedCategoryButton = categoryButtons[index];
        selectedCategoryText   = categoryButtonsText[index];

        ColorBlock unselectedColors = selectedCategoryButton.colors;

        unselectedColors.normalColor            = Color.white;
        unselectedColors.highlightedColor       = Color.gray;
        previouslySelectedCategoryButton.colors = unselectedColors;
        previouslySelectedCategoryText.color    = Color.black;

        ColorBlock selectedColors = selectedCategoryButton.colors;

        selectedColors.normalColor      = Color.black;
        selectedColors.highlightedColor = Color.black;
        selectedCategoryButton.colors   = selectedColors;
        selectedCategoryText.color      = Color.white;

        RepopulateItems();

        craftDialog.SetActive(false);
        scavengeOnlyDialog.SetActive(false);
    }
예제 #2
0
    private void DrawTab()
    {
        int index = (int)_categorySelected;

        index             = GUILayout.Toolbar(index, tabCategories.ToArray());
        _categorySelected = (Item.Category)index;
    }
    public List <Item_And_Quantity> GetStoredItems(Item.Category category, Item.Rarity rarity)
    {
        List <Item_And_Quantity> stored = new List <Item_And_Quantity>();

        foreach (Item_And_Quantity storedItem in storedItems)
        {
            if (storedItem.item.category == category && storedItem.item.rarity == rarity)
            {
                stored.Add(storedItem);
            }
        }

        return(stored);
    }
예제 #4
0
 public void item2Pressed(BaseEventData data)
 {
     eventTriggered = true;
     usersItem = Item.Category.Ball;
     itemChosen = true;
 }
예제 #5
0
 public void item1Pressed(BaseEventData data)
 {
     eventTriggered = true;
     usersItem = Item.Category.Medicine;
     itemChosen = true;
 }
예제 #6
0
        //void OnLootEvent(ItemEntry.LootEvent e)
        //{
        //  //// If there's already an existing one, add to its count
        //  //var consumableEntry = e.Item as ConsumableEntry;
        //  //if (Consumables.Contains(consumableEntry))
        //  //{
        //  //  Consumables.Find(x => x == consumableEntry).Count += consumableEntry.Count;
        //  //}
        //  //// Add it
        //  //else
        //  //{
        //  //  Consumables.Add(consumableEntry);
        //  //}
        //}

        void Add <EntryType>(Item.Category category, EntryType entry)
        {
            if (category == Item.Category.Consumable)
            {
            }
        }
예제 #7
0
        internal static void AddNewItem(MenuDisplay menu, ListDisplay list)
        {
            string NewItemName = "";

            Item.Category NewItemCategory = new Item.Category();
            Item.Priority NewItemPriority = new Item.Priority();

            list.DisplayCurrentList(ItemsList.UserShoppingList);
            bool valid     = false;
            bool duplicate = true;

            do
            {
                duplicate = false;
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                menu.ActionPrompt.Add("Enter Item Name:");
                menu.ActionInstructions(menu.ActionPrompt);
                Console.SetCursorPosition(MenuDisplay.InstDisplay + 2, menu.ActionPromptInitLine + 1);
                NewItemName = Console.ReadLine();

                /*Duplicate Detector*/
                for (int i = 0; i < ItemsList.UserShoppingList.Count; ++i)
                {
                    if (ItemsList.UserShoppingList[i].Name.ToUpper() == NewItemName.ToUpper())
                    {
                        menu.StatusUpdate();
                        menu.StatusUpdate($"{NewItemName} is already on the list. ", MenuDisplay.ActionStatus.ActionFailure);
                        duplicate = true;
                        break;
                    }
                    if (duplicate == true)
                    {
                        break;
                    }
                }
                if (duplicate == true)
                {
                    continue;
                }

                if (NewItemName.Length > ListDisplay.CatCol - ListDisplay.itemNumCol /*Name Col*/ - 2)
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Your item name is too long. " +
                                      $"Max {ListDisplay.CatCol - ListDisplay.itemNumCol /*Name Col*/ - 2} only", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }
                valid = true;
            }while (valid == false || duplicate == true);

            menu.StatusUpdate();
            menu.StatusUpdate(MenuDisplay.DefaultStatus);

            valid = false;
            while (valid == false)
            {
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                menu.ActionPrompt.Add($"Name: {NewItemName}");
                menu.ActionPrompt.Add($" ");
                for (int i = 0; i < Item.catList.Count(); ++i)
                {
                    menu.ActionPrompt.Add($"{i + 1}: {Item.catList[i]}");
                }
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add("Your Choice: ");
                menu.ActionInstructions(menu.ActionPrompt);
                char charInput = Console.ReadKey().KeyChar;

                if (!int.TryParse(charInput.ToString(), out int catInput))
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Please enter a whole Number.", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }

                if (catInput > 7 || catInput <= 0)
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Number {charInput} is out of  range.", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }
                NewItemCategory = Item.catList[catInput - 1];
                valid           = true;
            }
            menu.StatusUpdate();
            menu.StatusUpdate(MenuDisplay.DefaultStatus);

            valid = false;
            while (valid == false)
            {
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                menu.ActionPrompt.Add($"Name: {NewItemName}");
                menu.ActionPrompt.Add($"Category: {NewItemCategory.ToString()}");
                menu.ActionPrompt.Add($" ");
                for (int i = 0; i < Item.prioList.Count(); ++i)
                {
                    menu.ActionPrompt.Add($"{menu.PriorityInitial(Item.prioList[i])}: {Item.prioList[i]}");
                }
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add("Your Choice: ");
                menu.ActionInstructions(menu.ActionPrompt);
                string stringInput = Console.ReadKey().KeyChar.ToString().ToUpper();


                if (stringInput != "H" && stringInput != "M" && stringInput != "L")
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Please Select 'H', 'M', or 'L'", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }

                switch (stringInput)
                {
                case "H": NewItemPriority = Item.Priority.High; break;

                case "M": NewItemPriority = Item.Priority.Medium; break;

                case "L": NewItemPriority = Item.Priority.Low; break;
                }
                valid = true;
            }

            menu.StatusUpdate();
            Item item = new Item(NewItemName, NewItemCategory, NewItemPriority);

            ItemsList.UserShoppingList.Add(item);
            list.DisplayCurrentList(ItemsList.UserShoppingList);
            menu.StatusUpdate($"Item {NewItemName} has been added to list.", MenuDisplay.ActionStatus.ActionSuccess);
            Save();
            menu.ActionInstructionsClear();
        }
예제 #8
0
        internal static void EditItem(MenuDisplay menu, ListDisplay list)
        {
            string NewItemName = "";

            Item.Category NewItemCategory = new Item.Category();
            Item.Priority NewItemPriority = new Item.Priority();

            list.DisplayCurrentList(ItemsList.UserShoppingList);
            IndexFilter(menu, "Which Item # do you want to edit?", out int itemNumIndex, out bool exit);
            if (exit == true)
            {
                return;
            }
            menu.StatusUpdate();
            Item selectedItem = ItemsList.UserShoppingList[itemNumIndex];

            ItemSpecs(selectedItem, menu, list);
            /*Do not reset yet*/

            /*Name*/
            bool valid     = false;
            bool duplicate = true;

            do
            {
                duplicate = false;
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                ItemSpecs(selectedItem, menu, list);
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add($"New Name: ");
                menu.ActionInstructions(menu.ActionPrompt);
                string input = Console.ReadLine();

                for (int i = 0; i < ItemsList.UserShoppingList.Count; ++i)
                {
                    if (ItemsList.UserShoppingList[i].Name == NewItemName)
                    {
                        menu.StatusUpdate();
                        menu.StatusUpdate($"{NewItemName} is already on the list. ", MenuDisplay.ActionStatus.ActionFailure);
                        duplicate = true;
                        break;
                    }
                    if (duplicate == true)
                    {
                        break;
                    }
                }
                if (duplicate == true)
                {
                    continue;
                }

                if (NewItemName.Length > ListDisplay.CatCol - ListDisplay.itemNumCol /*Name Col*/ - 2)
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Your item name is too long. " +
                                      $"Max {ListDisplay.CatCol - ListDisplay.itemNumCol /*Name Col*/ - 2} only", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }
                NewItemName = input;
                valid       = true;
            }while (valid == false || duplicate == true);
            int inputSpaces = NewItemName.Count(char.IsWhiteSpace);

            if (NewItemName.Length == inputSpaces || NewItemName == string.Empty)
            {
                NewItemName = selectedItem.Name;
            }
            selectedItem.Name = NewItemName;

            menu.StatusUpdate();
            menu.StatusUpdate(MenuDisplay.DefaultStatus);

            /*Category*/
            valid = false;
            while (valid == false)
            {
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                ItemSpecs(selectedItem, menu, list);
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add($"New Name: {selectedItem.Name}");
                menu.ActionPrompt.Add($" ");
                for (int i = 0; i < Item.catList.Count(); ++i)
                {
                    menu.ActionPrompt.Add($"{i + 1}: {Item.catList[i]}");
                }
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add("New Category: ");
                menu.ActionInstructions(menu.ActionPrompt);
                char charInput = Console.ReadKey().KeyChar;

                if (charInput == ' ' || charInput == '\r')
                {
                    NewItemCategory = selectedItem.category;
                    valid           = true;
                    break;
                }

                if (!int.TryParse(charInput.ToString(), out int catInput))
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Please enter a whole Number.", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }

                if (catInput > 7 || catInput <= 0)
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Number {charInput} is out of  range.", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }

                NewItemCategory = Item.catList[catInput - 1];
                valid           = true;
            }
            selectedItem.category = NewItemCategory;
            menu.StatusUpdate();
            menu.StatusUpdate(MenuDisplay.DefaultStatus);

            //Priority
            valid = false;
            while (valid == false)
            {
                menu.ActionInstructionsClear();
                menu.ActionPrompt.Clear();
                ItemSpecs(selectedItem, menu, list);
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add($"New Name: {selectedItem.Name}");
                menu.ActionPrompt.Add($"New Category: {selectedItem.category}");
                menu.ActionPrompt.Add($" ");

                for (int i = 0; i < Item.prioList.Count(); ++i)
                {
                    menu.ActionPrompt.Add($"{menu.PriorityInitial(Item.prioList[i])}: {Item.prioList[i]}");
                }
                menu.ActionPrompt.Add($" ");
                menu.ActionPrompt.Add("Your Choice: ");
                menu.ActionInstructions(menu.ActionPrompt);
                string stringInput = Console.ReadKey().KeyChar.ToString().ToUpper();

                if (stringInput == " " || stringInput == "\r")
                {
                    NewItemPriority = selectedItem.priority;
                    valid           = true;
                    break;
                }

                if (stringInput != "H" && stringInput != "M" && stringInput != "L")
                {
                    menu.StatusUpdate();
                    menu.StatusUpdate($"Please Select 'H', 'M', or 'L'", MenuDisplay.ActionStatus.ActionFailure);
                    continue;
                }

                switch (stringInput)
                {
                case "H": NewItemPriority = Item.Priority.High; break;

                case "M": NewItemPriority = Item.Priority.Medium; break;

                case "L": NewItemPriority = Item.Priority.Low; break;
                }
                valid = true;
            }
            selectedItem.priority = NewItemPriority;

            //ifPurchased
            if (ItemsList.UserShoppingList[itemNumIndex].IsPurchased == true)
            {
                int indexAtPurchList = ItemsList.UserPurchasedList.IndexOf(ItemsList.UserShoppingList[itemNumIndex]);
                ItemsList.UserPurchasedList[indexAtPurchList].Name     = NewItemName;
                ItemsList.UserPurchasedList[indexAtPurchList].category = NewItemCategory;
                ItemsList.UserPurchasedList[indexAtPurchList].priority = NewItemPriority;
            }

            //Finalize
            menu.ActionInstructionsClear();
            menu.ActionPrompt.Clear();
            menu.StatusUpdate();
            list.DisplayCurrentList(ItemsList.UserShoppingList);
            menu.StatusUpdate($"Item {selectedItem.Name} has been successfully edited.", MenuDisplay.ActionStatus.ActionSuccess);
            Save();
        }