private void OnTakeStackItem(TakeStackItemRequest request) { var requester = request.Requester; var stack = request.Stack; if (!stack.HasState <InventoryState>()) { Debug.LogError("A requester requested to take a stack item but the stack doesn't have an inventory state!"); return; } if (!requester.HasState <InventoryState>()) { Debug.LogError("A requester requested to take a stack item but the requester doesn't have an inventory state!"); return; } var stackItem = stack.GetState <InventoryState>().Child; if (stackItem == null) { Debug.LogError("A requester requested to take a stack item but there is no item!"); return; } EventSystem.ParentingRequestEvent.Invoke(new ParentingRequest { EntityFrom = stack, EntityTo = requester, Mover = stackItem }); if (stack.GetState <InventoryState>().Child == null) { CreateNewItemInStack(stack); } }
private void OnTakeStackItem(TakeStackItemRequest request) { if (request.Stack == entity) { var originalY = slot.position.y; slot.localPosition = new Vector3(slot.localPosition.x, -0.6f, slot.localPosition.z); slot.DOMoveY(originalY, 1.0f); } }