public override void Update(HeldObject heldObject) { if (!heldObject.playerInRange) { if (heldObject.displayImage != null) { heldObject.ToggleImage(false); } heldObject.TransitionToState(heldObject.idleState); } else { RaycastHit hit; int layerMask = 1 << 10; bool mouseOver = Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 50, layerMask, QueryTriggerInteraction.Ignore); if (mouseOver && hit.transform.name == heldObject.name) { if (Input.GetKeyDown(KeyCode.Mouse0)) { ObjectPickedUp(heldObject); } } else { if (heldObject.displayImage != null) { heldObject.ToggleImage(false); } heldObject.TransitionToState(heldObject.inRangeState); } } }
public override void EnterState(HeldObject heldObject) { heldObject.outlineObject.SetActive(true); if (heldObject.displayImage != null) { heldObject.ChangeSprite(); heldObject.ToggleImage(true); } }