Ejemplo n.º 1
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player" && changedCam == false)
     {
         CameraFollow.usingEnemyRange = usingEnemyDetection;
         CameraFollow.ChangeCameraState(desiredCameraState);
     }
 }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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);
            }
        }
    }