public void update() { if (left_driving_box_ != null) { x_ = left_driving_box_.x() + left_driving_box_.get_width() / 2 + Settings.BOX_GAP + get_width() / 2; y_ = left_driving_box_.y(); } else if (falling_) update_position(); if (height_driver_ != null) y_ = height_driver_.y(); check_off_screen(); }
// override this to catch stop falling events protected void stopped_falling() { if (colliding_box_ != null) { y_ = colliding_box_.y() - colliding_box_.get_height() / 2 - Settings.BOX_GAP - get_height() / 2; } if (drive_this_height_ != null) drive_this_height_.set_y(y_); }