void Engine_State::switch_off(void) { if ( m_on ) { set_to_idle(); m_on = false; emit switched_off(); } }
void Engine_State::change(double RPM) { const double rpmOff = 50; // 50 const double rpmIdle = 2000; // 150 if ( RPM < rpmOff ) { switch_off(); set_to_idle(); } else if ( RPM < rpmIdle ) { switch_on(); set_to_idle(); } else { switch_on(); unset_idle(); } }
void enemy::move_to(double x,double y) { if(x<0 || y<0) debug_log::report("destiny negative",err,true,true,false); else { if(x==position.first && y==position.second) set_to_idle(); else { destiny.first=x; destiny.second=y; set_movement_animation(); animation[idle_anim].stop(); } } }
void enemy::update() { if(spawned()) { if(alive()) { if(!idle()) { //not idle option position=movement_update(position,destiny,speed); } else set_to_idle(); //if reach destiny } else if(current_animation!=dead_anim) kill(); //killed animation[current_animation].update(); //animation update if(current_animation==dead_anim && animation[current_animation].is_active()==false) deactivate(); } }
//ENEMY CONTROL void enemy::stop() { destiny=position; set_to_idle(); }