use crate::materials::Material;
use crate::modules::galaxy::{
AtmosphereType, PlanetClass, StarClass, StarLuminosity, VolcanismType,
};
#[derive(Debug)]
pub enum SpawnCondition {
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(Vec<SpawnCondition>),
All(Vec<SpawnCondition>),
}