void Start()
        {
            itemManager = GetComponent <vItemManager>();
            if (itemManager)
            {
                itemManager.onEquipItem.AddListener(EquipWeapon);
                itemManager.onUnequipItem.AddListener(UnequipWeapon);

                holders = GetComponentsInChildren <vWeaponHolder>(true);
                if (holders != null)
                {
                    foreach (vWeaponHolder holder in holders)
                    {
                        if (!holderAreas.ContainsKey(holder.equipPointName))
                        {
                            holderAreas.Add(holder.equipPointName, new List <vWeaponHolder>());
                            holderAreas[holder.equipPointName].Add(holder);
                        }
                        else
                        {
                            holderAreas[holder.equipPointName].Add(holder);
                        }

                        holder.SetActiveHolder(false);
                        holder.SetActiveWeapon(false);
                    }
                }
            }
        }
Exemple #2
0
        IEnumerator Start()
        {
            if (instance == null)
            {
                inventory = FindObjectOfType <vInventory>();
                instance  = this;

                if (!inventory && inventoryPrefab)
                {
                    inventory = Instantiate(inventoryPrefab);
                }

                if (!inventory)
                {
                    Debug.LogError("No vInventory assigned!");
                }

                if (inventory)
                {
                    inventory.GetItemsHandler = GetItems;
                    inventory.onEquipItem.AddListener(EquipItem);
                    inventory.onUnequipItem.AddListener(UnequipItem);
                    inventory.onDropItem.AddListener(DropItem);
                    inventory.onLeaveItem.AddListener(LeaveItem);
                    inventory.onUseItem.AddListener(UseItem);
                    inventory.onOpenCloseInventory.AddListener(OnOpenCloseInventory);
                }
                animator = GetComponent <Animator>();

                if (dropItemsWhenDead)
                {
                    var character = GetComponent <vCharacter>();
                    if (character)
                    {
                        character.onDead.AddListener(DropAllItens);
                    }
                }

                var genericAction = GetComponent <vGenericAction>();
                if (genericAction != null)
                {
                    genericAction.OnDoAction.AddListener(CollectItem);
                }

                yield return(new WaitForEndOfFrame());

                items = new List <vItem>();
                if (itemListData)
                {
                    for (int i = 0; i < startItems.Count; i++)
                    {
                        AddItem(startItems[i], true);
                    }
                }
            }
        }
Exemple #3
0
        private void vLeaveDropItensWindow(int windowID)
        {
            GUILayout.BeginVertical();
            itemManager = FindObjectOfType <vItemManager>();

            if (itemManager)
            {
                scroll = GUILayout.BeginScrollView(scroll, GUILayout.Width(300), GUILayout.MinHeight(300));
                for (int i = 0; i < itemManager.items.Count; i++)
                {
                    GUILayout.BeginHorizontal("box");

                    GUILayout.Label(new GUIContent("Name:" + itemManager.items[i].name + "\nAmount :" + itemManager.items[i].amount.ToString()), GUILayout.Width(200), GUILayout.Height(40));
                    GUILayout.BeginVertical("box");
                    if (GUILayout.Button("Leave"))
                    {
                        itemManager.inventory.isOpen = true;
                        itemManager.inventory.OnLeaveItem(itemManager.items[i], 1);
                        itemManager.inventory.isOpen = false;
                        break;
                    }
                    if (GUILayout.Button("Drop"))
                    {
                        itemManager.inventory.isOpen = true;
                        itemManager.inventory.OnDropItem(itemManager.items[i], 1);
                        itemManager.inventory.isOpen = false;
                        break;
                    }
                    GUILayout.EndVertical();
                    GUILayout.EndHorizontal();
                }
                GUILayout.EndScrollView();
            }
            GUILayout.EndVertical();
            GUI.DragWindow();
        }