1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Make enemy and teammate count customizable

This commit is contained in:
NG (Graham)
2025-06-02 20:08:25 -04:00
parent 36a58eaed1
commit d0c2b1ec03
11 changed files with 98 additions and 40 deletions

View File

@@ -5,6 +5,8 @@ pub struct SingleplayerConfig {
#[serde(default = "default_campaigns")]
pub campaigns: Vec<Campaign>,
pub vehicles: Vec<super::PrefabVehicle>,
pub max_teammates: u32,
pub max_enemies: u32,
}
impl SingleplayerConfig {
@@ -15,6 +17,18 @@ impl SingleplayerConfig {
pub fn into_waves(self) -> crate::data::campaign::LiveCampaignWaves {
crate::data::campaign::LiveCampaignWaves { waves: self.campaigns.into_iter().map(|x| x.into_waves()).collect() }
}
pub fn into_singleplayer_conf(&self) -> crate::persist::config::SingleplayerConfig {
crate::persist::config::SingleplayerConfig {
max_teammates: self.max_teammates,
max_enemies: self.max_enemies,
vehicles: self.vehicles.iter().map(|v| crate::persist::config::VehicleInfo {
name: v.name.clone(),
username: v.username.clone(),
id: v.id.clone().into(),
}).collect()
}
}
}
#[derive(Serialize, Deserialize, Clone, Debug)]