public void Init() { if (instance == false) { instance = this; } else { Destroy(gameObject); return; } //initial variables currentCharge = settings.maxCharge; dischargeRate = settings.dischargeRate; fieldViewCone = gameObject.GetComponent <FieldOfView>(); batterySlider = UIManager.instance.batteryDisplay; batterySlider.InitSlider(settings.maxCharge); fieldViewCone.ToggleLight(true); chargeState = ChargeStates.StandBy; batterySlider.UpdateSlider(currentCharge); isInitialised = true; }
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); } } }
//Setters public void SetChargeState(ChargeStates newState) { chargeState = newState; }
public ChargeControlResult(ChargeStates commandType) : base( (commandType == ChargeStates.Start ? CommandUrls.ChargeStart : CommandUrls.ChargeStop) ) { }