UnityGameProjectsCode / NightwatchGame / FlashLightPickup.cs
FlashLightPickup.cs
Raw
using UnityEngine;

public class FlashLightPickup : MonoBehaviour
{
    public PlayerController playerControl;
    public GameObject interactionUI;
    public InteractionTextControl textControl;
    private bool playerNearby;
    private bool flashLightActive;

    private void OnTriggerEnter(Collider other)
    {
        interactionUI.SetActive(true);
        playerNearby = true;
    }

    private void OnTriggerExit(Collider other)
    {
        interactionUI.SetActive(false);
        playerNearby = false;
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.E) && playerNearby && flashLightActive)
        {
            playerControl.SetFlashlightActive(true);
            gameObject.SetActive(false);
            interactionUI.SetActive(false);
            GetComponent<BoxCollider>().enabled = false;
        }

        if (Input.GetKeyDown(KeyCode.E) && playerNearby && !flashLightActive)
        {
            textControl.DisplayText("Flashlight. Not used much.");
        }
    }

    public void SetFlashLightActive(bool state)
    {
        flashLightActive = state;
    }
}