public void SetItem(int i, Item item) { Action <Point2D> itemTakeHandler = (p) => ItemTake.Raise(i, p); Action <Point2D> itemTransferHandler = (p) => ItemTransfer.Raise(i, p); Action <Point2D> itemActHandler = (p) => ItemAct.Raise(i, p); Action <KeyModifiers> itemInteractHandler = (mods) => ItemInteract.Raise(i); if (items[i] != null) { items[i].Take -= itemTakeHandler; items[i].Transfer -= itemTransferHandler; items[i].Act -= itemActHandler; items[i].Interact -= itemInteractHandler; items[i].Remove(); items[i].Dispose(); } if (item != null) { items[i] = new ItemWidget(this, null); items[i].Item = item; items[i].Move(slotPositions[i].X, slotPositions[i].Y); items[i].Take += itemTakeHandler; items[i].Transfer += itemTransferHandler; items[i].Act += itemActHandler; items[i].Interact += itemInteractHandler; } }
private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("interObject")) { Debug.Log(other.name); currentInterObj = other.gameObject; currentInterObjScript = currentInterObj.GetComponent <ItemTake>(); } }