ed_journals/modules/exobiology/models/
spawn_condition.rsuse crate::materials::Material;
use crate::modules::galaxy::{
AtmosphereType, PlanetClass, StarClass, StarLuminosity, VolcanismType,
};
#[derive(Debug)]
pub enum SpawnCondition<'a> {
MinMeanTemperature(f32),
MaxMeanTemperature(f32),
NoAtmosphere,
AnyThinAtmosphere,
ThinAtmosphere(AtmosphereType),
MinGravity(f32),
MaxGravity(f32),
PlanetClass(PlanetClass),
ParentStarClass(StarClass),
ParentStarLuminosity(StarLuminosity),
MinOrEqualParentStarLuminosity(StarLuminosity),
SystemContainsPlanetClass(PlanetClass),
VolcanismType(VolcanismType),
MinDistanceFromParentSun(f32),
AnyVolcanism,
WithinNebulaRange(f32),
GeologicalSignalsPresent,
MaterialPresence(Material),
RockyComposition,
IcyComposition,
MetalComposition,
Special,
Any(&'a [SpawnCondition<'a>]),
All(&'a [SpawnCondition<'a>]),
}