public override void Interact(GameObject interactor) { if (isLocked) { if (interactor.tag == "Player") { FMODUnity.RuntimeManager.PlayOneShot(sfxDoorLocked, transform.position); /* (Bernardo) TODO: Adicionar dialogo de "trancado" * * interactor.GetComponentInChildren<PlayerDialogueState>().dialogue = lockedDialogue; * interactor.transform.GetChild(2).GetComponent<ConcurrentStateMachine>().ChangeState(typeof(PlayerDialogueState));*/ } } else { if (!hasBeenOpened) { FMODUnity.RuntimeManager.PlayOneShot(sfxChestOpening, transform.position); hasBeenOpened = true; animator.SetTrigger("Open"); ObjectCollector collector = interactor.GetComponent <ObjectCollector>(); collector.GetItem(containedItem); FMODUnity.RuntimeManager.PlayOneShot(sfxCollectingItem, transform.position); } else { PlayerDialogueState dialogueState = interactor.GetComponentInChildren <PlayerDialogueState>(); dialogueState.dialogue = emptyDialogue; dialogueState.GetComponent <ConcurrentStateMachine>().ChangeState(typeof(PlayerDialogueState)); } } }
public override void Collect(ObjectCollector collector) { collector.GetItem(itemConfig); base.Collect(collector); }