static void update(struct game_state *gs) { if (inner_state.state != IS_LEVEL_CLEARED && inner_state.state != IS_LEVEL_TRANSITION) update_eye(); update_crosshair(); update_background(); update_water(); update_particles(); update_explosions(); if (ship_is_visible()) { update_ship(); update_missiles(); update_bombs(); update_lasers(); update_foes(); } update_powerups(); update_in_game_texts(); if (inner_state.state == IS_IN_GAME) { update_multiplier(); update_combo(); } if (inner_state.state == IS_GAME_OVER) { if (inner_state.tics >= GAME_OVER_FADE_IN_TICS) { if (!update_stats_table()) { gc.score += game_over_stats.bonus; set_inner_state(IS_RANK); } } } if (inner_state.state == IS_LEVEL_CLEARED) { if (inner_state.tics >= LEVEL_CLEARED_FADE_IN_TICS) { if (!update_stats_table()) { gc.score += game_over_stats.bonus; set_inner_state(IS_LEVEL_TRANSITION); } } } update_level_tics(); update_inner_state(); if (serializing) serialize(); }
void Game_Utils::hurt( Hurt_Args & hurt_args ) { UI::Actor_Layer* al = get_actor_layer(); if(!al){ return ; } al->sprite_hurt(hurt_args.hurt_sprite_id_, hurt_args.hurt_sprite_type_, hurt_args.attcker_id_,(Hurt_Type)hurt_args.hurt_type_, hurt_args.hurt_value_, hurt_args.hurting_vellovity_, hurt_args.hurting_v_h_vellovity_, hurt_args.yinzhi_time_/1000.f); UI::Game_UI_Delegate* gl = get_Game_UI_layer(); if(gl) { update_combo(hurt_args.hurt_sprite_id_, hurt_args.hurt_sprite_type_, 0); gl->update_hp(hurt_args.hurt_sprite_id_, hurt_args.hurt_sprite_type_,(Hurt_Type)hurt_args.hurt_type_, hurt_args.hurt_value_); } }