/// <summary> /// Called when this slot is left clicked on by the cursor /// </summary> public virtual void OnPrimaryClick(InventoryCursor Cursor) { ItemStack curItem = Cursor.mCurrentItem; ItemStack invItem = mCurrentItem; // Add as much to cursor as possible if (curItem.mItemID == invItem.mItemID && curItem.mItemCount != curItem.mMaxStackCount) { int spare = curItem.mMaxStackCount - curItem.mItemCount; if (invItem.mItemCount <= spare) { curItem.mItemCount += invItem.mItemCount; invItem = new ItemStack(0); } else { curItem.mItemCount += (ushort)spare; invItem.mItemCount -= (ushort)spare; } Cursor.mCurrentItem = curItem; mCurrentItem = invItem; } // Swap contents of this slot with cursor contents else { Cursor.mCurrentItem = invItem; mCurrentItem = curItem; } }
/// <summary> /// Called when this slot is right clicked on by the cursor /// </summary> public virtual void OnSecondaryClick(InventoryCursor Cursor) { ItemStack curItem = Cursor.mCurrentItem; ItemStack invItem = mCurrentItem; // Put 1 of this item into cursor if (curItem.mType == ItemType.None) { curItem = new ItemStack(invItem.mItemID, 1); if (--invItem.mItemCount == 0) { invItem = new ItemStack(0); } Cursor.mCurrentItem = curItem; mCurrentItem = invItem; } // Add 1 more to cursor else if (curItem.mItemID == invItem.mItemID && curItem.mItemCount < curItem.mMaxStackCount) { curItem.mItemCount++; invItem.mItemCount--; if (invItem.mItemCount == 0) { invItem = new ItemStack(0); } Cursor.mCurrentItem = curItem; mCurrentItem = invItem; } }
/// <summary> /// Called when this slot is left clicked on by the cursor /// </summary> public override void OnPrimaryClick(InventoryCursor Cursor) { ItemStack curItem = Cursor.mCurrentItem; ItemStack invItem = mCurrentItem; // Add as much to cursor as possible if (curItem.mItemID == invItem.mItemID && curItem.mItemCount != curItem.mMaxStackCount) { int spare = curItem.mMaxStackCount - curItem.mItemCount; if (invItem.mItemCount <= spare) { curItem.mItemCount += invItem.mItemCount; invItem = new ItemStack(0); Cursor.mCurrentItem = curItem; mCurrentItem = invItem; } } else if (curItem.mType == ItemType.None) { Cursor.mCurrentItem = invItem; mCurrentItem = new ItemStack(0); } }
private void Awake() { #region Singleton if (Instance == null) { Instance = this; } else { Destroy(gameObject); } DontDestroyOnLoad(gameObject); #endregion rectTransform = GetComponent <RectTransform>(); }
private void Awake() { instance = this; }
/// <summary> /// Called when this slot is right clicked on by the cursor /// </summary> public override void OnSecondaryClick(InventoryCursor Cursor) { OnPrimaryClick(Cursor); }
private void Start() { cursor = InventoryCursor.instance; }