/// <summary> /// Changes the phase /// </summary> /// <param name="newPhase"></param> public void SetPhaseTo(GamePhase newPhase) { switch (newPhase) { case GamePhase.Placing: #if UNITY_IOS UnityARCameraManager.Instance.StopTracking(); #endif sortedPlanes = LocalObjectBuilder.Instance.GetSortedPlanes(); scale = FindObjectOfType <LocalPlane>().transform.localScale.y / 2; SpawnRelics(); SpawnEntrances(); StartCoroutine("SpawnEnvObjs"); RpcBuildTerrain(); break; case GamePhase.Playing: currentlySelectedTrap = null; TogglePreviouslySelectedTrap(); foreach (TrapDefense trap in trapObjList) { trap.TransitionToPlayPhase(); } VRTransition vrTransition = FindObjectOfType <VRTransition>(); practiceArea.RpcActivateEntrance(entranceObjList[Random.Range(0, entranceObjList.Count)].transform.position); if (combat != null) { combat.IsShootingEnabled = true; } #if UNITY_IOS UnityARAnchorManager.Instance.TogglePlaneMaterial(); #endif break; case GamePhase.Over: if (!isServer) { break; } ARCombat combatt = GetComponent <ARCombat>(); if (combatt != null) { combatt.IsShootingEnabled = false; } CanvasManager.Instance.ShowGameOverBtn(this); break; } currGamePhase = (int)newPhase; CanvasManager.Instance.SetUpUI(this); }
private void OnTriggerEnter(Collider other) { if (!activated) { return; } Debug.Log(other); if (other.CompareTag("Player")) { if (other.transform.parent) { VRTransition transition = other.transform.parent.GetComponent <VRTransition>(); if (transition) { transition.SpawnInPos(spawnPos); practiceArea.ResetPracticeArea(); } } } }