//Call the HouseOutlineController' function to hide the object outline
 private void HideOutline()
 {
     if (prevController != null)
     {
         prevController.HideObject();
         prevController = null;
     }
 }
    /// <summary>
    /// A function to check is it the raycast has hit the colliders of the interactable item
    /// If yes, the prompt key will show.
    /// It will only check if there is no any popup panel show
    /// </summary>
    private void HandleLookAtRay()
    {
        if (!EventSystem.current.IsPointerOverGameObject())
        {
            Ray        ray = _camera.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, distance))
            {
                if (hit.collider.CompareTag("Doors") || hit.collider.CompareTag("cockroach") ||
                    hit.collider.CompareTag("smallRoomKey") || hit.collider.CompareTag("Interactable") ||
                    hit.collider.CompareTag("bed") || hit.collider.CompareTag("powerSwitch") ||
                    hit.collider.CompareTag("cailingFanSwitch") || hit.collider.tag == "missiingItems")
                {
                    if (operateTooltip.activeSelf == false)
                    {
                        promptScript.ShowPrompt = true;
                    }

                    else
                    {
                        promptScript.ShowPrompt = false;
                    }

                    currentController = hit.collider.GetComponent <HouseOutlineController>();

                    if (prevController != currentController)
                    {
                        HideOutline();
                        ShowOutline();
                    }

                    prevController = currentController;

                    if (Input.GetKeyDown(KeyCode.E))
                    {
                        hit.collider.SendMessage("Operate",
                                                 SendMessageOptions.DontRequireReceiver);
                    }
                }

                else if (hit.collider.CompareTag("newspaper"))
                {
                    if (lightOn == true)
                    {
                        if (operateTooltip.activeSelf == false && isReadingNews == false)
                        {
                            promptScript.ShowPrompt = true;
                        }

                        else
                        {
                            promptScript.ShowPrompt = false;
                        }

                        currentController = hit.collider.GetComponent <HouseOutlineController>();

                        if (prevController != currentController)
                        {
                            HideOutline();
                            ShowOutline();
                        }

                        prevController = currentController;

                        if (Input.GetKeyDown(KeyCode.E))
                        {
                            if (lightOn == true && !isReadingNews)
                            {
                                promptScript.ShowPrompt = false;
                                hit.collider.SendMessage("readNewspaper",
                                                         SendMessageOptions.DontRequireReceiver);
                                isReadingNews = !isReadingNews;
                            }

                            else if (isReadingNews)
                            {
                                hit.collider.SendMessage("stopReadNewspaper",
                                                         SendMessageOptions.DontRequireReceiver);
                            }
                        }
                    }
                }

                else
                {
                    HideOutline();
                    promptScript.ShowPrompt = false;
                }
            }

            else
            {
                HideOutline();
                promptScript.ShowPrompt = false;
            }
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        MissingItemController = GetComponent <HouseOutlineController>();

        _renderer = gameObject.GetComponent <MeshRenderer>();
    }