all systems updated to take parameters rather than world

This commit is contained in:
Jonas H
2026-04-06 20:21:07 +02:00
parent 87177ad97d
commit d737568b3e
16 changed files with 668 additions and 301 deletions

View File

@@ -1,11 +1,40 @@
use crate::world::World;
use crate::components::camera::CameraComponent;
use crate::components::FollowComponent;
use crate::render::snow::SnowLayer;
use crate::utility::transform::Transform;
use crate::world::Storage;
pub fn snow_system(world: &mut World)
pub fn snow_system(
cameras: &Storage<CameraComponent>,
transforms: &Storage<Transform>,
player_tags: &Storage<()>,
follows: &Storage<FollowComponent>,
snow_layer: &mut Option<SnowLayer>,
)
{
let camera_pos = world.active_camera_position();
let player_pos = world.player_position();
let is_following = world.camera_is_following();
if let Some(ref mut snow_layer) = world.snow_layer
let camera_pos = cameras
.components
.iter()
.find(|(_, cam)| cam.is_active)
.and_then(|(e, _)| transforms.get(*e))
.map(|t| t.position)
.unwrap_or(glam::Vec3::ZERO);
let player_pos = player_tags
.all()
.first()
.and_then(|e| transforms.get(*e))
.map(|t| t.position)
.unwrap_or(glam::Vec3::ZERO);
let is_following = cameras
.components
.iter()
.find(|(_, cam)| cam.is_active)
.map(|(e, _)| follows.get(*e).is_some())
.unwrap_or(false);
if let Some(ref mut snow_layer) = snow_layer
{
if is_following
{