private void OnTriggerEnter(Collider other) { if (other.tag == "Player" && changedCam == false) { CameraFollow.usingEnemyRange = usingEnemyDetection; CameraFollow.ChangeCameraState(desiredCameraState); } }
void SpawnClone() { //nikCam.gameObject.GetComponent<CameraShake>().enabled = true; nikCam.zoomSpeedFour = new Vector3(zoomSpeedFourBase.x, zoomSpeedFourBase.y + zoomSpeedYIncrease * 2, zoomSpeedFourBase.z); CameraFollow.ChangeCameraState(4); GameObject clone = Instantiate(playerClone, transform.position, Quaternion.identity); clone.GetComponent <JuiceDashClone>().juiceDashScript = this; clone.GetComponent <JuiceDashClone>().targets = new List <GameObject>(markedTargets); clone.GetComponent <JuiceDashClone>().startAction = true; playerAnim.SetTrigger("JuiceDashUSED"); TurnPlayerONandOff(false); }
void ChangeChargeState(ChargeStates requestedState) { if (requestedState == currentState) { Debug.Log("already in state " + requestedState); } else { currentState = requestedState; if (requestedState == ChargeStates.none) { player.chargedDash = false; markedTargets.Clear(); abilityReady = false; DisableAllMarkers(); nextState = ChargeStates.first; } else if (requestedState == ChargeStates.first) { if (juiceMeter.value >= 90) { playerAnim.SetTrigger("JuiceDash1"); //nikCam.gameObject.GetComponent<CameraShake>().enabled = false ; //shakeIntensity = shakeIntensityFirst; //shakeEnabled = true; CameraFollow.juiceDashActive = true; nikCam.zoomSpeedTwo = new Vector3(zoomSpeedTwoBase.x, zoomSpeedTwoBase.y + zoomSpeedYIncrease, zoomSpeedTwoBase.z); CameraFollow.ChangeCameraState(2); //AudioSource source1 = gameObject.AddComponent<AudioSource>(); //source1.clip = chargeClips[0]; //source1.Play(); CollectEnemies(); if (enemiesInRange.Length != 0) { markedTargets.Add(enemiesInRange[0].gameObject); gameObject.transform.LookAt(markedTargets[0].transform); DisplayMarkerOnTarget(markedTargets[0]); if (markedTargets[0].GetComponent <NavMeshAgent>() != null) { foreach (GameObject target in markedTargets) { target.gameObject.GetComponent <NavMeshAgent>().isStopped = true; } } } abilityReady = true; nextState = ChargeStates.second; juiceMeter.value -= juiceConsumedPerCharge; } else { ChangeChargeState(ChargeStates.none); } } else if (requestedState == ChargeStates.second) { //AudioSource source2 = gameObject.AddComponent<AudioSource>(); //source2.clip = chargeClips[1]; //source2.Play(); //shakeIntensity = shakeIntensitySecond; playerAnim.SetTrigger("JuiceDash2"); nikCam.zoomSpeedOne = new Vector3(zoomSpeedOneBase.x, zoomSpeedOneBase.y + zoomSpeedYIncrease, zoomSpeedOneBase.z); CameraFollow.ChangeCameraState(1); for (int i = 1; i <= 2; i++) { if (i <= enemiesInRange.Length - 1) { markedTargets.Add(enemiesInRange[i].gameObject); } } foreach (GameObject target in markedTargets) { DisplayMarkerOnTarget(target); if (target.GetComponent <NavMeshAgent>() != null) { target.gameObject.GetComponent <NavMeshAgent>().isStopped = true; } } nextState = ChargeStates.final; juiceMeter.value -= juiceConsumedPerCharge; } else if (requestedState == ChargeStates.final) { //AudioSource source3 = gameObject.AddComponent<AudioSource>(); //source3.clip = chargeClips[3]; //source3.Play(); //shakeIntensity = shakeIntensityFinal; Physics.IgnoreLayerCollision(9, 13, true); playerAnim.SetTrigger("JuiceDash3"); nikCam.zoomSpeedZero = new Vector3(zoomSpeedZeroBase.x, zoomSpeedZeroBase.y + zoomSpeedYIncrease, zoomSpeedZeroBase.z); CameraFollow.ChangeCameraState(0); for (int i = 3; i <= 5; i++) { if (i <= enemiesInRange.Length - 1) { markedTargets.Add(enemiesInRange[i].gameObject); } } foreach (GameObject target in markedTargets) { DisplayMarkerOnTarget(target); if (target.GetComponent <NavMeshAgent>() != null) { target.gameObject.GetComponent <NavMeshAgent>().isStopped = true; } } nextState = ChargeStates.success; juiceMeter.value -= juiceConsumedPerCharge; } else if (requestedState == ChargeStates.success) { if (ScoreTracker.instance != null) { ScoreTracker.instance.specialsUsed++; } if (markedTargets.Count != 0) { transform.LookAt(markedTargets[0].transform); } nextState = ChargeStates.none; SpawnClone(); ChangeChargeState(nextState); } else if (requestedState == ChargeStates.punish) { ChangeChargeState(ChargeStates.none); } } }