virtual void Update( float deltaTime ) { UpdateSplashScreen(); UpdateGameState(); if (EGS_PLAYING == m_CurrentState) { UpdateSpawning( deltaTime ); UpdateGlobalBlackboard( deltaTime ); } DestroyPendingObjects(); SpawnPendingObjects(); }
//! called during the update of the entity void DefenderManager::Update() { auto coolDown = GSETTINGS->m_DefenderManagerSettings->m_Cooldown; // update cool down if (m_CooldownTimer > 0.0f) { float angle = ((coolDown - m_CooldownTimer) / coolDown) * Math::PITimes2; m_CooldownTimer -= g_fDeltaTime; if (m_CooldownTimer <= 0.0f) { angle = Math::PITimes2 + .1f; m_CooldownTimer = -1.0f; m_CallDownButton->SetUIEnabled(true); m_CallDownButton->GetChildByName("Halo")->SetVisibleAndEnabled(true); } m_CooldownShader->GetConstant("uCurrentAngle")->Set(&angle, 1); } switch(m_State) { case S_Spawning: UpdateSpawning(); break; case S_Defending: if (m_CooldownTimer < (coolDown - GSETTINGS->m_DefenderManagerSettings->m_PullBackTreshold)) SwitchState(S_PullBack); break; case S_PullBack: m_DiseappearTimer -= g_fDeltaTime; if (m_CooldownTimer < 0.0f || m_DiseappearTimer < 0.0f) { for (auto defender : m_lDefenders) { if (defender.IsValid()) defender->GetParent()->RemoveChild(defender); } m_lDefenders.clear(); SwitchState(S_Ready); } break; } }
void RPG_AiControllerComponent::UpdateState(float const deltaTime) { if (m_characterOwner->ShouldDisplayDebugStateInformation()) { DebugDisplayStateInformation(); } RPG_AIState_e const state = GetState(); switch(state) { case ST_Spawning: UpdateSpawning(deltaTime); break; case ST_Wandering: UpdateWandering(deltaTime); break; case ST_Challenging: UpdateChallenging(deltaTime); break; case ST_MovingToPosition: UpdateMovingToPosition(deltaTime); break; case ST_MeleeAttacking: UpdateMeleeAttacking(deltaTime); break; case ST_RangedAttacking: UpdateRangedAttacking(deltaTime); break; case ST_AoeAttacking: UpdateAoeAttacking(deltaTime); break; case ST_Fleeing: UpdateFleeing(deltaTime); break; case ST_Healing: UpdateHealing(deltaTime); break; default: VASSERT_MSG(false, "RPG_Ai Controller Component tried to update an unhandled state."); break; } m_isFirstStateUpdate = false; }