namespace VRTK.Examples { using UnityEngine; public class SnapDropZoneGroup_Switcher : MonoBehaviour { private GameObject cubeZone; private GameObject sphereZone; private void Start() { cubeZone = transform.Find("Cube_SnapDropZone").gameObject; sphereZone = transform.Find("Sphere_SnapDropZone").gameObject; cubeZone.GetComponent().ObjectEnteredSnapDropZone += new SnapDropZoneEventHandler(DoCubeZoneSnapped); cubeZone.GetComponent().ObjectSnappedToDropZone += new SnapDropZoneEventHandler(DoCubeZoneSnapped); cubeZone.GetComponent().ObjectExitedSnapDropZone += new SnapDropZoneEventHandler(DoCubeZoneUnsnapped); cubeZone.GetComponent().ObjectUnsnappedFromDropZone += new SnapDropZoneEventHandler(DoCubeZoneUnsnapped); sphereZone.GetComponent().ObjectEnteredSnapDropZone += new SnapDropZoneEventHandler(DoSphereZoneSnapped); sphereZone.GetComponent().ObjectSnappedToDropZone += new SnapDropZoneEventHandler(DoSphereZoneSnapped); sphereZone.GetComponent().ObjectExitedSnapDropZone += new SnapDropZoneEventHandler(DoSphereZoneUnsnapped); sphereZone.GetComponent().ObjectUnsnappedFromDropZone += new SnapDropZoneEventHandler(DoSphereZoneUnsnapped); } private void DoCubeZoneSnapped(object sender, SnapDropZoneEventArgs e) { sphereZone.SetActive(false); } private void DoCubeZoneUnsnapped(object sender, SnapDropZoneEventArgs e) { sphereZone.SetActive(true); } private void DoSphereZoneSnapped(object sender, SnapDropZoneEventArgs e) { cubeZone.SetActive(false); } private void DoSphereZoneUnsnapped(object sender, SnapDropZoneEventArgs e) { cubeZone.SetActive(true); } } }