Esempio n. 1
0
 /** Selects the associated item */
 public void Select(SelectItemMode _selectItemMode = SelectItemMode.Use)
 {
     if (InvInstance.IsValid(this))
     {
         KickStarter.runtimeInventory.SelectItem(this, _selectItemMode);
     }
 }
Esempio n. 2
0
 private void SetSelectItemMode(SelectItemMode _mode)
 {
     if (KickStarter.settingsManager.CanGiveItems())
     {
         selectItemMode = _mode;
     }
     else
     {
         selectItemMode = SelectItemMode.Use;
     }
 }
Esempio n. 3
0
 public void SelectItem(InvItem item, SelectItemMode _mode)
 {
     if (selectedItem == item)
     {
         selectedItem = null;
         KickStarter.playerCursor.ResetSelectedCursor();
     }
     else
     {
         SetSelectItemMode(_mode);
         selectedItem = item;
     }
     PlayerMenus.ResetInventoryBoxes();
 }
Esempio n. 4
0
 /** A Constructor that copies its values from another Button */
 public Button(Button button)
 {
     interaction          = button.interaction;
     assetFile            = button.assetFile;
     customScriptObject   = button.customScriptObject;
     customScriptFunction = button.customScriptFunction;
     isDisabled           = button.isDisabled;
     invID          = button.invID;
     iconID         = button.iconID;
     selectItemMode = button.selectItemMode;
     playerAction   = button.playerAction;
     setProximity   = button.setProximity;
     proximity      = button.proximity;
     faceAfter      = button.faceAfter;
     isBlocking     = button.isBlocking;
     parameterID    = button.parameterID;
     invParameterID = button.invParameterID;
 }
Esempio n. 5
0
        public void SelectItemByID(int _id, SelectItemMode _mode)
        {
            if (_id == -1)
            {
                SetNull();
                return;
            }

            foreach (InvItem item in localItems)
            {
                if (item != null && item.id == _id)
                {
                    SetSelectItemMode(_mode);
                    selectedItem = item;
                    PlayerMenus.ResetInventoryBoxes();
                    return;
                }
            }

            SetNull();
            Debug.LogWarning("Want to select inventory item " + KickStarter.inventoryManager.GetLabel(_id) + " but player is not carrying it.");
        }
        public override void ShowGUI(List<ActionParameter> parameters)
        {
            selectType = (InventorySelectType) EditorGUILayout.EnumPopup ("Select type:", selectType);
            if (selectType == InventorySelectType.DeselectActive)
            {
                AfterRunningOption ();
                return;
            }

            if (!inventoryManager)
            {
                inventoryManager = AdvGame.GetReferences ().inventoryManager;
            }
            if (!settingsManager)
            {
                settingsManager = AdvGame.GetReferences ().settingsManager;
            }

            if (inventoryManager)
            {
                // Create a string List of the field's names (for the PopUp box)
                List<string> labelList = new List<string>();

                int i = 0;
                if (parameterID == -1)
                {
                    invNumber = -1;
                }

                if (inventoryManager.items.Count > 0)
                {
                    foreach (InvItem _item in inventoryManager.items)
                    {
                        labelList.Add (_item.label);

                        // If an item has been removed, make sure selected variable is still valid
                        if (_item.id == invID)
                        {
                            invNumber = i;
                        }

                        i++;
                    }

                    if (invNumber == -1)
                    {
                        ACDebug.LogWarning ("Previously chosen item no longer exists!");
                        invNumber = 0;
                        invID = 0;
                    }

                    parameterID = Action.ChooseParameterGUI ("Inventory item:", parameters, parameterID, ParameterType.InventoryItem);
                    if (parameterID >= 0)
                    {
                        invNumber = Mathf.Min (invNumber, inventoryManager.items.Count-1);
                        invID = -1;
                    }
                    else
                    {
                        invNumber = EditorGUILayout.Popup ("Inventory item:", invNumber, labelList.ToArray());
                        invID = inventoryManager.items[invNumber].id;
                    }

                    giveToPlayer = EditorGUILayout.Toggle ("Add if not held?", giveToPlayer);

                    if (settingsManager && settingsManager.CanGiveItems ())
                    {
                        selectItemMode = (SelectItemMode) EditorGUILayout.EnumPopup ("Select item mode:", selectItemMode);
                    }

                }
                else
                {
                    EditorGUILayout.HelpBox ("No inventory items exist!", MessageType.Info);
                    invID = -1;
                    invNumber = -1;
                }
            }
            AfterRunningOption ();
        }
Esempio n. 7
0
        public override void ShowGUI(List <ActionParameter> parameters)
        {
            selectType = (InventorySelectType)EditorGUILayout.EnumPopup("Select type:", selectType);
            if (selectType == InventorySelectType.DeselectActive)
            {
                AfterRunningOption();
                return;
            }

            if (!inventoryManager)
            {
                inventoryManager = AdvGame.GetReferences().inventoryManager;
            }
            if (!settingsManager)
            {
                settingsManager = AdvGame.GetReferences().settingsManager;
            }

            if (inventoryManager)
            {
                // Create a string List of the field's names (for the PopUp box)
                List <string> labelList = new List <string>();

                int i = 0;
                if (parameterID == -1)
                {
                    invNumber = -1;
                }

                if (inventoryManager.items.Count > 0)
                {
                    foreach (InvItem _item in inventoryManager.items)
                    {
                        labelList.Add(_item.label);

                        // If an item has been removed, make sure selected variable is still valid
                        if (_item.id == invID)
                        {
                            invNumber = i;
                        }

                        i++;
                    }

                    if (invNumber == -1)
                    {
                        ACDebug.LogWarning("Previously chosen item no longer exists!");
                        invNumber = 0;
                        invID     = 0;
                    }

                    parameterID = Action.ChooseParameterGUI("Inventory item:", parameters, parameterID, ParameterType.InventoryItem);
                    if (parameterID >= 0)
                    {
                        invNumber = Mathf.Min(invNumber, inventoryManager.items.Count - 1);
                        invID     = -1;
                    }
                    else
                    {
                        invNumber = EditorGUILayout.Popup("Inventory item:", invNumber, labelList.ToArray());
                        invID     = inventoryManager.items[invNumber].id;
                    }

                    giveToPlayer = EditorGUILayout.Toggle("Add if not held?", giveToPlayer);

                    if (settingsManager && settingsManager.CanGiveItems())
                    {
                        selectItemMode = (SelectItemMode)EditorGUILayout.EnumPopup("Select item mode:", selectItemMode);
                    }
                }
                else
                {
                    EditorGUILayout.HelpBox("No inventory items exist!", MessageType.Info);
                    invID     = -1;
                    invNumber = -1;
                }
            }
            AfterRunningOption();
        }
Esempio n. 8
0
        /**
         * <summary>Creates a new instance of the 'Inventory: Select' Action, set to select a specific inventory item</summary>
         * <param name = "itemID">The ID number of the inventory item to select</param>
         * <param name = "addIfNotCarrying">If True, the item will be added to the player's inventory</param>
         * <param name = "selectItemMode">The 'select mode' to be in (Use, Give), if supported</param>
         * <returns>The generated Action</returns>
         */
        public static ActionInventorySelect CreateNew_Select(int itemID, bool addIfNotCarrying = false, SelectItemMode selectItemMode = SelectItemMode.Use)
        {
            ActionInventorySelect newAction = (ActionInventorySelect)CreateInstance <ActionInventorySelect>();

            newAction.selectType     = InventorySelectType.SelectItem;
            newAction.invID          = itemID;
            newAction.giveToPlayer   = addIfNotCarrying;
            newAction.selectItemMode = selectItemMode;
            return(newAction);
        }
 private void SetSelectItemMode(SelectItemMode _mode)
 {
     if (KickStarter.settingsManager.CanGiveItems ())
     {
         selectItemMode = _mode;
     }
     else
     {
         selectItemMode = SelectItemMode.Use;
     }
 }
        /**
         * <summary>Selects an inventory item (InvItem) by referencing it's ID number.</summary>
         * <param name = "_id">The inventory item's ID number</param>
         * <param name = "_mode">What mode the item is selected in (Use, Give)</param>
         */
        public void SelectItemByID(int _id, SelectItemMode _mode = SelectItemMode.Use)
        {
            if (_id == -1)
            {
                SetNull ();
                return;
            }

            foreach (InvItem item in localItems)
            {
                if (item != null && item.id == _id)
                {
                    SetSelectItemMode (_mode);
                    selectedItem = item;
                    PlayerMenus.ResetInventoryBoxes ();
                    return;
                }
            }

            SetNull ();
            ACDebug.LogWarning ("Want to select inventory item " + KickStarter.inventoryManager.GetLabel (_id) + " but player is not carrying it.");
        }
 /**
  * <summary>Selects an inventory item (InvItem)</summary>
  * <param name = "_id">The inventory item to selet</param>
  * <param name = "_mode">What mode the item is selected in (Use, Give)</param>
  */
 public void SelectItem(InvItem item, SelectItemMode _mode = SelectItemMode.Use)
 {
     if (selectedItem == item)
     {
         selectedItem = null;
         KickStarter.playerCursor.ResetSelectedCursor ();
     }
     else
     {
         SetSelectItemMode (_mode);
         selectedItem = item;
     }
     PlayerMenus.ResetInventoryBoxes ();
 }