use super::model::WorldSummaryFields;
use crate::RuntimeState;

pub(super) fn fill_world_policy_state_fields(
    fields: &mut WorldSummaryFields,
    state: &RuntimeState,
) {
    fields.world_restore_disable_cargo_economy_special_condition_slot = state
        .world_restore
        .disable_cargo_economy_special_condition_slot;
    fields.world_restore_disable_cargo_economy_special_condition_reconstructible_from_save = state
        .world_restore
        .disable_cargo_economy_special_condition_reconstructible_from_save;
    fields.world_restore_disable_cargo_economy_special_condition_write_side_grounded = state
        .world_restore
        .disable_cargo_economy_special_condition_write_side_grounded;
    fields.world_restore_disable_cargo_economy_special_condition_enabled = state
        .world_restore
        .disable_cargo_economy_special_condition_enabled;
    fields.world_restore_use_bio_accelerator_cars_enabled =
        state.world_restore.use_bio_accelerator_cars_enabled;
    fields.world_restore_use_wartime_cargos_enabled =
        state.world_restore.use_wartime_cargos_enabled;
    fields.world_restore_disable_train_crashes_enabled =
        state.world_restore.disable_train_crashes_enabled;
    fields.world_restore_disable_train_crashes_and_breakdowns_enabled = state
        .world_restore
        .disable_train_crashes_and_breakdowns_enabled;
    fields.world_restore_ai_ignore_territories_at_startup_enabled =
        state.world_restore.ai_ignore_territories_at_startup_enabled;
    fields.world_restore_limited_track_building_amount =
        state.world_restore.limited_track_building_amount;
    fields.world_restore_economic_status_code = state.world_restore.economic_status_code;
    fields.world_restore_territory_access_cost = state.world_restore.territory_access_cost;
    fields.world_restore_linked_site_removal_follow_on_gate_raw_u8 = state
        .world_restore
        .linked_site_removal_follow_on_gate_raw_u8;
    fields.world_restore_linked_site_removal_follow_on_gate_enabled = state
        .world_restore
        .linked_site_removal_follow_on_gate_enabled;
    fields.world_restore_auto_show_grade_during_track_lay_raw_u8 =
        state.world_restore.auto_show_grade_during_track_lay_raw_u8;
    fields.world_restore_starting_building_density_level_raw_u8 =
        state.world_restore.starting_building_density_level_raw_u8;
    fields.world_restore_post_text_building_density_growth_raw_u8 =
        state.world_restore.post_text_building_density_growth_raw_u8;
    fields.world_restore_leftover_simulation_time_accumulator_raw_u32 = state
        .world_restore
        .leftover_simulation_time_accumulator_raw_u32;
    fields.world_restore_leftover_simulation_time_accumulator_value_f32_text = state
        .world_restore
        .leftover_simulation_time_accumulator_value_f32_text
        .clone();
    fields.world_restore_all_steam_locomotives_available_raw_u8 =
        state.world_restore.all_steam_locomotives_available_raw_u8;
    fields.world_restore_all_steam_locomotives_available_enabled =
        state.world_restore.all_steam_locomotives_available_enabled;
    fields.world_restore_all_diesel_locomotives_available_raw_u8 =
        state.world_restore.all_diesel_locomotives_available_raw_u8;
    fields.world_restore_all_diesel_locomotives_available_enabled =
        state.world_restore.all_diesel_locomotives_available_enabled;
    fields.world_restore_all_electric_locomotives_available_raw_u8 = state
        .world_restore
        .all_electric_locomotives_available_raw_u8;
    fields.world_restore_all_electric_locomotives_available_enabled = state
        .world_restore
        .all_electric_locomotives_available_enabled;
    fields.world_restore_stock_issue_and_buyback_policy_raw_u8 =
        state.world_restore.stock_issue_and_buyback_policy_raw_u8;
    fields.world_restore_bond_issue_and_repayment_policy_raw_u8 =
        state.world_restore.bond_issue_and_repayment_policy_raw_u8;
    fields.world_restore_bankruptcy_policy_raw_u8 = state.world_restore.bankruptcy_policy_raw_u8;
    fields.world_restore_dividend_policy_raw_u8 = state.world_restore.dividend_policy_raw_u8;
    fields.world_restore_building_density_growth_setting_raw_u32 =
        state.world_restore.building_density_growth_setting_raw_u32;
    fields.world_restore_stock_issue_and_buyback_allowed =
        state.world_restore.stock_issue_and_buyback_allowed;
    fields.world_restore_bond_issue_and_repayment_allowed =
        state.world_restore.bond_issue_and_repayment_allowed;
    fields.world_restore_bankruptcy_allowed = state.world_restore.bankruptcy_allowed;
    fields.world_restore_dividend_adjustment_allowed =
        state.world_restore.dividend_adjustment_allowed;
}
