/// <summary>
/// Handle player choosing how many items to pick up in a stack
/// </summary>
/// <param name="quant"></param>
public void OnSubmitPickup(int quant)
{
InputField inputctrl = UWHUD.instance.InputControl;
inputctrl.text = "";
inputctrl.gameObject.SetActive(false);
WindowDetect.WaitingForInput = false;
ConversationVM.EnteringQty = false;
if (ConversationVM.InConversation == false)
{
UWHUD.instance.MessageScroll.Clear();
Time.timeScale = 1.0f;
}
else
{
UWHUD.instance.ConversationButtonParent.SetActive(true);
UWHUD.instance.MessageScroll.Set("");
// UWHUD.instance.MessageScroll.NewUIOUt.text = InventorySlot.TempLookAt;//Restore original text
}
if (quant == 0)
{//cancel
QuantityObj = null;
}
if (QuantityObj != null)
{//Just do a normal pickup.
if (quant >= QuantityObj.GetComponent <ObjectInteraction>().link)
{
CurrentObjectInHand = QuantityObj;
if (this.slotIndex >= 11)
{
UWCharacter.Instance.playerInventory.currentContainer.RemoveItemFromContainer(UWCharacter.Instance.playerInventory.ContainerOffset + this.slotIndex - 11);
}
UWCharacter.Instance.playerInventory.ClearSlot(this.slotIndex);
}
else
{
//split the obj.
ObjectInteraction objI = QuantityObj.GetComponent <ObjectInteraction>();
objI.link = objI.link - quant;
ObjectLoaderInfo newObj = ObjectLoader.newWorldObject(objI.item_id, objI.quality, objI.owner, quant, -1);
newObj.is_quant = 1;
ObjectInteraction NewObjI = ObjectInteraction.CreateNewObject(CurrentTileMap(), newObj, CurrentObjectList().objInfo, GameWorldController.instance.InventoryMarker, GameWorldController.instance.InventoryMarker.transform.position);
GameWorldController.MoveToInventory(NewObjI);
CurrentObjectInHand = NewObjI;
ObjectInteraction.Split(objI, NewObjI);
UWCharacter.Instance.playerInventory.Refresh();
QuantityObj = null;
}
}
}