public void DropItem(PickupInteraction item, bool is_attached) { if (item != null) { // Not in the inventory anymore RemoveItem(item); // Make the item visible item.SetHolstered(false); item.SetVisible(true); // Drop it! item.Detach(); } }
private HolsterResult DoHolsterMainHand() { if (in_hands == null || in_hands.IsHolstered()) { return(HolsterResult.Invalid); } switch (in_hands.GetItemSize()) { case ItemSize.Small: Debug.Log("Stash to inventory: " + in_hands.gameObject.name); // Item is holstered and hidden in_hands.SetHolstered(true); in_hands.SetVisible(false); // Item is selected active_item = in_hands; AttachToRightHand(in_hands); // Hand is empty now, but do not detach in_hands = null; return(HolsterResult.Success); case ItemSize.Large: if (on_back == null) { Debug.Log("Holster to back: " + in_hands.gameObject.name); // Item is holstered, but visible in_hands.SetHolstered(true); in_hands.SetVisible(true); // Item is on back on_back = in_hands; AttachToBack(in_hands); // Hand is empty now, but do not detach in_hands = null; return(HolsterResult.Success); } else { // Do not holster, but also do not do anything else return(HolsterResult.Blocked); } case ItemSize.Bulky: case ItemSize.Case: // Do not holster, but also do not do anything else return(HolsterResult.Blocked); default: Debug.Log("Unsupported"); break; } return(HolsterResult.Invalid); }
private void PutOnBack(PickupInteraction item) { // Save to inventory Debug.Log("Picked up to back:" + item.gameObject.name); // Item is neither selected nor in the hand, // but the attachment needs to be done anyway AttachToBack(item); on_back = item; if (item == in_hands) { in_hands = null; } // Make the item holstered, but visible item.SetHolstered(true); item.SetVisible(true); }
private void PutInHand(PickupInteraction item) { // Save to inventory Debug.Log("Picked up to hand:" + item.gameObject.name); // Item is selected and in the hand now in_hands = item; active_item = item; if (item == on_back) { on_back = null; } AttachToRightHand(item); // Make the item visible item.SetHolstered(false); item.SetVisible(true); }
private void PutInInventory(PickupInteraction item) { // Save to inventory Debug.Log("Picked up to inventory:" + item.gameObject.name); // Item is neither selected nor in the hand, // but the attachment needs to be done anyway AttachToRightHand(item); if (item == on_back) { on_back = null; } if (item == in_hands) { in_hands = null; } // Make the item invisible item.SetHolstered(true); item.SetVisible(false); }