private void OnTriggerEnter(Collider other) { // Check to see if an actor holding keys has entered. IKeyUser user = other.gameObject.GetComponent <IKeyUser>(); if (user != null) { // Check if they have the required key. if (user.CheckKey(this)) { // Open the door. userOpeningDoor = user; } } }
public void Interact() { if (userOpeningDoor.CheckKey(this)) { isLocked = !isLocked; if (isLocked) { PromptMessage = $"Unlock door"; playerBlocker.enabled = true; } else { PromptMessage = $"Lock door"; playerBlocker.enabled = false; } } InteractionComplete?.Invoke(); }