using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TeleportLocationCollider : MonoBehaviour
{
    public TeleportLocation parent;
    private void OnTriggerEnter(Collider other)
    {
        MenuReference reference = other.GetComponent<MenuReference>();
        if (reference == null) return;

        List<MenuTeleportButton> buttonsList = reference.buttons;
        MenuTeleportButton button = findCorrespondingButton(buttonsList);
        if (button != null)
        {
            button.SetStateSelected();
        }
    }
    private void OnTriggerExit(Collider other)
    {
        MenuReference reference = other.GetComponent<MenuReference>();
        if (reference == null) return;

        List<MenuTeleportButton> buttonsList = other.GetComponent<MenuReference>().buttons;
        MenuTeleportButton button = findCorrespondingButton(buttonsList);

        if (button != null)
        {
            button.SetStateDefault();
        }

        //Debug.Log(other.name + " exited the area");
    }
    private MenuTeleportButton findCorrespondingButton(List<MenuTeleportButton> buttons) 
    {
        foreach (MenuTeleportButton button in buttons)
        {
            if (button.TargetName.Equals(parent.Name))
            {
                return button;
            }
        }
        Debug.Log("Teleport location of " + parent.Name + " was unable to find the button triggering it");
        return null;
    }
}