public override void GetHit(int damage) { base.GetHit(damage); UpdateHealthUI(); currentState.Exit(this); currentState = new BossDamagedState();; currentState.Enter(this); UpdateStateUI(currentState.stateName); }
private void CheckStateSwap() { if (returnedState != null) { currentState.Exit(this); currentState = returnedState; currentState.Enter(this); UpdateStateUI(currentState.stateName); } }
public void changeState(BossState newState) { if (currentBossState != null) { // Exit from previous state StartCoroutine(currentBossState.Exit()); } // Set current state to a new one currentBossState = newState; // Initialize new phase StartCoroutine(currentBossState.Enter()); }
//change the current state to the selected state public void ChangeState(eBossState _newState) { switch (_newState) { case eBossState.Spawn: m_CurrentState = m_StateSpawn; break; case eBossState.CreateMuzzle: m_CurrentState = m_StateCreateMuzzle; break; case eBossState.DeleteMuzzle: m_CurrentState = m_StateDeleteMuzzle; break; case eBossState.Attack: m_CurrentState = m_StateAttack; break; case eBossState.Retreat: m_CurrentState = m_StateRetreat; break; case eBossState.DeleteEntity: m_CurrentState = m_StateDeleteEntity; break; case eBossState.Move: m_CurrentState = m_StateMove; break; } m_CurrentState.Enter(); }
private void Start() { health = 0; for (int i = 0; i < phaseController.phases.Length; i++) { health += phaseController.phases[i].phaseData.healthDuringPhase; } thisCollider = this.GetComponent <Collider2D>(); currentState = new BossInvulnerableState(); currentState.Enter(this); flashingFx = GetComponent <FlashingFX>(); //UpdateHealthUI(); UpdateStateUI(currentState.stateName); }
public void ChangeState(eBossState _newState) //change the current state to the selected state { switch (_newState) { case eBossState.Spawn: m_CurrentState = m_StateSpawn; break; case eBossState.CreateMuzzle: m_CurrentState = m_StateCreateMuzzle; break; case eBossState.DeleteMuzzle: m_CurrentState = m_StateDeleteMuzzle; break; case eBossState.Attack: m_CurrentState = m_StateAttack; break; case eBossState.Retreat: m_CurrentState = m_StateRetreat; break; case eBossState.DeleteEntity: m_CurrentState = m_StateDeleteEntity; break; case eBossState.Move: m_CurrentState = m_StateMove; break; } m_CurrentState.Enter(); }
public void Initialize(BossState startingState) { CurrentState = startingState; CurrentState.Enter(); }
public void ChangeState(BossState newState) { CurrentState.Exit(); CurrentState = newState; CurrentState.Enter(); }
// Update is called once per frame void Update() //update states { m_CurrentState.Enter(); }