private void UpdateInteractiveInput() { if (!InteractButtonPressed()) { return; } var interactElement = GameController.instance.activeInteractiveElement as MonoBehaviour; if (interactElement != null) { if (GameController.instance.activeInteractiveElement as TreeController != null) { if (!_charAnimator.isChopping) { // Cut the tree only if character ended chopping animation GameController.instance.activeInteractiveElement.Interact(); _charAnimator.ChopAnimation(); } } else { GameController.instance.activeInteractiveElement.Interact(); if (_characterHands.currentlyHolding == Holdable.Wood || _characterHands.currentlyHolding == Holdable.Torch) { if (_carriedTorch != null) { Destroy(_carriedTorch.gameObject); } _characterHands.AddWoodToFire(); return; } if (!interactElement.CompareTag("Fire")) { return; } var torchFuel = _characterHands.PickTorch(); _carriedTorch = TorchController.Craft(_torchPrefab, _transform, torchFuel); return; } } if (_carriedTorch == null) { return; } _carriedTorch.Place(_transform.position + _transform.forward); _carriedTorch.transform.parent = null; _carriedTorch.gameObject.SetActive(true); _carriedTorch = null; _characterHands.SetHolding(Holdable.Nothing); }