private void SelectItems() { Ray ray = new Ray(this.transform.position, lookDirection.normalized * character.GetInteractionRange()); RaycastHit2D hitBox = Physics2D.CircleCast(ray.GetPoint(character.GetInteractionRange() / 2), character.GetInteractionRange() / 2, lookDirection.normalized, character.GetInteractionRange(), interactionLayer); if (hitBox) { ISelectable target = hitBox.collider.gameObject.GetComponentInParent <ISelectable>(); if (target != null) { selectedItem = target.Select(this.gameObject); if (prevSelectedItem != selectedItem) { if (prevSelectedItem != null) { prevSelectedItem.Unselect(this.gameObject); } prevSelectedItem = selectedItem; } } } else { if (prevSelectedItem != null) { prevSelectedItem.Unselect(this.gameObject); } } }