49 lines
1.5 KiB
C#

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;
}
}