void CPlayerBase::Moving() { PROFILE_FUNCTION("moving base"); if (checkFalling()) { time_start_falling = 0; ChangeState("start_falling"); ChangeCommonState("start_falling"); } UpdateDirection(); UpdateJumpState(); if (!UpdateMovDirection()) { ChangeState("idle"); ChangeCommonState("idle"); } }
void Goomba::update() { if ( m_px + m_width <= 0 || m_px >= m_pWorld->map().totalWidth() || m_py >= m_pWorld->map().totalHeight() ) { setLive(false); return; } if (m_state == DYING) { m_dyingFrameCount++; if (m_dyingFrameCount >= GOOMBA_MAX_DYING_FRAME) { setLive(false); } return; } if (m_state == THROWING) { if ( m_py >= m_pWorld->map().totalHeight() ) { setLive(false); return; } } else // LIVING { if (!m_vy && checkFalling()) { m_vy = GOOMBA_VY; m_ay = GOOMBA_GRAVITY; } } Entity::updateMovement(); }
void GuardianModule::run_() { PROF_ENTER(P_ROBOGUARDIAN); temperaturesInput.latch(); chestButtonInput.latch(); footBumperInput.latch(); inertialInput.latch(); fsrInput.latch(); batteryInput.latch(); countButtonPushes(); checkFalling(); checkFallen(); checkFeetOnGround(); checkBatteryLevels(); checkTemperatures(); processFallingProtection(); processChestButtonPushes(); processFootBumperPushes(); checkAudio(); frameCount++; PROF_EXIT(P_ROBOGUARDIAN); }