using System.Collections; using System.Collections.Generic; using UnityEngine; using Vuforia; public class NinjaWeaponChange : MonoBehaviour, ITrackableEventHandler { private TrackableBehaviour mTrackableBehaviour; public GameObject _lightSaberWeapon; //public GameObject _turretWeapon; //private MeshRenderer _turretWeaponRender; public GameObject _KnifeWeapon; public GameObject EndCanvas; public GameObject NinjaCanvas; [System.NonSerialized] public int chgState; // Use this for initialization void Start () { mTrackableBehaviour = GetComponent(); if (mTrackableBehaviour) { mTrackableBehaviour.RegisterTrackableEventHandler(this); } } // Update is called once per frame void Update () { } public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus) { if (newStatus == TrackableBehaviour.Status.DETECTED || newStatus == TrackableBehaviour.Status.TRACKED || newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED) { NinjaCanvas.GetComponent().enabled = false; EndCanvas.GetComponent().enabled = true; Debug.Log(mTrackableBehaviour.TrackableName + "::::: NAME"); if (chgState == 1) { var LightSaberComponents = _lightSaberWeapon.GetComponentsInChildren(true); foreach (var component in LightSaberComponents) component.enabled = true; //var TurretComponents = turretWeapon.GetComponentsInChildren(true); //foreach (var component in TurretComponents) // component.enabled = false; var KnifeComponents = _KnifeWeapon.GetComponentsInChildren(true); foreach (var component in KnifeComponents) component.enabled = false; } else if (chgState == 2) { var LightSaberComponents = _lightSaberWeapon.GetComponentsInChildren(true); foreach (var component in LightSaberComponents) component.enabled = false; //var TurretComponents = turretWeapon.GetComponentsInChildren(true); //foreach (var component in TurretComponents) //component.enabled = true; var KnifeComponents = _KnifeWeapon.GetComponentsInChildren(true); foreach (var component in KnifeComponents) component.enabled = true; } //else if (changingState == 3) //{ // var LightSaberComponents = lightSaberWeapon.GetComponentsInChildren(true); // foreach (var component in LightSaberComponents) // component.enabled = false; // //var TurretComponents = turretWeapon.GetComponentsInChildren(true); // //foreach (var component in TurretComponents) // //component.enabled = false; // KnifeWeaponRender.enabled = true; //} //var rendererComponents = virtualBtn.GetComponentsInChildren(true); //foreach (var component in rendererComponents) // component.enabled = true; } else { OnTrackingLost(); } } protected virtual void OnTrackingLost() { var rendererComponents = GetComponentsInChildren(true); var colliderComponents = GetComponentsInChildren(true); var canvasComponents = GetComponentsInChildren(true); // Disable rendering: foreach (var component in rendererComponents) component.enabled = false; // Disable colliders: foreach (var component in colliderComponents) component.enabled = false; // Disable canvas': foreach (var component in canvasComponents) component.enabled = false; } }