public void WaitForRecoverStamina() { //if (_recoverStaminaTimer > _maxStaminaRecoverTime) //{ // _recoverStaminaTimer = 0; // //_canRecoverStamina = true; // _staminaState = StaminaRecoverState.CanRecover; //} //else //{ // _recoverStaminaTimer += Time.deltaTime; //} if (GameDirector.instance.UIDirector.uiPlayer.Stamina.IsUpdateDone()) { //this.Invoke(StartAutoRecoveStamina, 1.0f); if (_recoverStaminaTimer > _maxStaminaRecoverTime) { _recoverStaminaTimer = 0; //_canRecoverStamina = true; _staminaState = StaminaRecoverState.CanRecover; } else { _recoverStaminaTimer += Time.deltaTime; } } }
public void UpdateStamina(float value) { //Debug.Log("update stamina"); if (value == 0) { return; } //_canRecoverStamina = false; //this.StopInvoke(0); _staminaState = StaminaRecoverState.None; //Debug.Log("state " + _staminaState + " " + value + "cur sta " + currentStamina); //GameDirector.instance.UIDirector.uiPlayer.Stamina.UpdateBarFixed(currentStamina); //GameDirector.instance.UIDirector.uiPlayer.Stamina.StopUpdate(); if (currentStamina + value >= maxStamina) { currentStamina = maxStamina; GameDirector.instance.UIDirector.uiPlayer.Stamina.UpdateBarFixed(currentStamina); } if (currentStamina + value <= 0) { currentStamina = 0; GameDirector.instance.UIDirector.uiPlayer.Stamina.UpdateBarFixed(currentStamina); _maxStaminaRecoverTime = 3.0f; _staminaState = StaminaRecoverState.Wait; //this.Invoke(StartAutoRecoveStamina, 3.0f); return; } currentStamina += value; GameDirector.instance.UIDirector.uiPlayer.Stamina.UpdateBarFixed(currentStamina); _maxStaminaRecoverTime = 2.0f; _staminaState = StaminaRecoverState.Wait; }
void _RecoverStamina() { //if (_staminaState != StaminaRecoverState.CanRecover) return; if (currentStamina + stats.staminaRecoverPerSec <= maxStamina) { currentStamina += stats.staminaRecoverPerSec; GameDirector.instance.UIDirector.uiPlayer.Stamina.UpdateBar(currentStamina); } else { //Debug.Log("cur sta " + currentStamina); currentStamina = maxStamina; _staminaState = StaminaRecoverState.None; //_canRecoverStamina = false; //_recoverStamina = null; } }
public void PlayerInit() { if (instance != null && instance != this) { Destroy(instance); } instance = this; _playerControl = gameObject.GetComponent <PlayerControl>(); stats = gameObject.GetComponent <PlayerStats>(); _playerControl.Init(); StatPhysical(stats.physical); currentHealth = maxHealth; currentStamina = maxStamina; currentVitality = maxVitality; _staminaState = StaminaRecoverState.None; //Debug.Log("cur sta " + currentStamina); //this.InvokeRepeating(() => { Test1(); }, 2, 1); //this.StopInvokeRepeating(10); }
void StartAutoRecoveStamina() { //_canRecoverStamina = true; _staminaState = StaminaRecoverState.CanRecover; }