all systems updated to take parameters rather than world
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user