Example #1
0
    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;
            }
        }
    }
Example #2
0
    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();
    }