forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			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;
 | 
						|
    }
 | 
						|
}
 |