public void InteractWithItem() { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } Hud.CloseMessagePanel(); mInteractItem = null; } //else //{ // if (mInteractItem.ContinueInteract()) // { // Hud.OpenMessagePanel(mInteractItem); // } // else // { // Hud.CloseMessagePanel(); // mInteractItem = null; // } //} } }
public void RightClickInteractWithAnItem(InteractableItemBase mInteractItem) //Exact same method as InteractWithItemAnimEvent() which is Being called in the animation events, this is for rightclickmenu { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) //If the interactable item is an InventoryItemBase (like axe) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; // inventoryItem becomes the interacted with item if it is an Instance of InventoryItemBase? (as is like is keyword + cast) Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } } } else { Debug.Log("mInteractItem is null"); } Hud.CloseMessagePanel(); mInteractItem = null; }
private void TryBuy() { if (AccumulatedMoney - AllCost > 0) { AccumulatedMoney -= AllCost; SetTextAccumulatedMoney(); foreach (RectTransform item in transforms) { if (item.childCount != 0) { InventoryItemBase itemBase = item.GetChild(0).GetComponent <ItemCatalog>().InventoryItem; inventory.AddItem(itemBase); itemBase.OnPickup(); if (itemBase.UseItemAfterPickup) { inventory.UseItem(itemBase); } } } } ClearBusket(); }
private void OnMouseDown() { Debug.Log("collide"); //inventory.AddItem(gameObject); //ajout de l''item inventory.AddItem(itembase); //appel methode pour désactiver l'objet' itembase.OnPickup(); Debug.Log(itembase.ToString()); }
public void AddItem(InventoryItemBase item) { if (nSlots.Count < SLOTS) { Collider collider = (item as MonoBehaviour).GetComponent <Collider>(); if (collider.enabled) { collider.enabled = false; nSlots.Add(item); item.OnPickup(); if (ItemAdded != null) { ItemAdded(this, new InventoryEventArgs(item)); } } } }
public void PickupItem() { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } } Hud.CloseMessagePanel(); mInteractItem = null; }
public void SetQuestCompleted(Quest quest) { foreach (var reward in quest.Rewards) { for (int i = 0; i < reward.Count; i++) { InventoryItemBase item = Instantiate <InventoryItemBase>(reward.Item); Inventory.AddItem(item); item.OnPickup(); } } questUI.QuestSolved(quest); if (QuestCompleted != null) { QuestCompleted.Invoke(); } mQuests.Remove(quest); }
public void InteractWithItem() { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } Hud.CloseMessagePanel(); mInteractItem = null; } else { if (mInteractItem.ContinueInteract()) { Hud.OpenMessagePanel(mInteractItem); } else { Hud.CloseMessagePanel(); mInteractItem = null; } } // Check all quests if completed or quest tasks foreach (var quest in mQuests.GetRange(0, mQuests.Count)) { quest.CheckCompleted(); } } }
public void InteractWithItemAnimEvent() //Being called in the animation events { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) //If the interactable item is an InventoryItemBase (like axe) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; // inventoryItem becomes the interacted with item if it is an Instance of InventoryItemBase? (as is like is keyword + cast) Inventory.AddItem(inventoryItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } } } Hud.CloseMessagePanel(); mInteractItem = null; }
public void InteractWithItem() { if (mInteractItem != null) { mInteractItem.OnInteract(); if (mInteractItem is InventoryItemBase) { InventoryItemBase inventoryItem = mInteractItem as InventoryItemBase; Inventory.AddItem(inventoryItem); UpdateMInteractItem(mInteractItem); inventoryItem.OnPickup(); if (inventoryItem.UseItemAfterPickup) { Inventory.UseItem(inventoryItem); } } } //hud.CloseMessagePanel(); //mInteractItem = null; }
void Update() { if (Global.USER_INPUT_ENABLED) { if (!m_Jump && CrossPlatformInputManager.GetButtonDown("Jump")) //If we are not currently performing a jump... { if (m_StaminaSystem.AttemptJump()) { m_Jump = true; } else { m_Jump = false; } } //UNDER CONSTRUCTION //if (m_AutoRunPressed = CrossPlatformInputManager.GetButtonDown("AutoRun")) //{ // m_isAutoRunning = !m_isAutoRunning; //} //check if trying to interact with an npc or an item. if (CrossPlatformInputManager.GetButtonDown("Interact")) { //it's an NPC if (m_PersonRequestingToBeSpokenWith != null) { if (!alreadySpeaking) {//!!ORDER IS IMPORTANT HERE!!\\ alreadySpeaking = true; SetPlayerPositionForConversation(); m_PersonRequestingToBeSpokenWith.GetComponent <Interactable>().Interact(); } else { //you're talking } } //its an item if (mItemRequestingToBeCollected != null) { animator.SetTrigger("Pickup"); //mItemRequestingToBeCollected.GetDetailsAboutItem(); inventory.AddItem(mItemRequestingToBeCollected); //OnPickup() destroys rigidbody mItemRequestingToBeCollected.OnPickup(); if (hud.IsMessagePanelOpened) { hud.CloseMessagePanel(); } mItemRequestingToBeCollected = null; } else { Debug.Log("item is null or not able to be collected"); } } if (CrossPlatformInputManager.GetButtonDown("SelfHeal")) { m_SpecialAbilities.AttemptSpecialAbility(0, this.gameObject); } if (CrossPlatformInputManager.GetButtonDown("AOE")) { m_SpecialAbilities.AttemptSpecialAbility(1, this.gameObject); } if (CrossPlatformInputManager.GetButtonDown("PowerAttack")) { m_SpecialAbilities.AttemptSpecialAbility(2, m_WeaponSystem.GetCurrentTarget()); } } }