bevy_webview_wry 0.5.0

Allows you to create a webview based on wry
Documentation
use crate::util::WryResultLog;
use crate::webview::WryWebViews;
use bevy::prelude::{App, Changed, Entity, NonSend, Plugin, Query, Update};
use bevy_webview_core::prelude::WebviewVisible;

pub struct VisiblePlugin;

impl Plugin for VisiblePlugin {
    fn build(&self, app: &mut App) {
        app.add_systems(Update, change_visible);
    }
}

fn change_visible(
    view_map: NonSend<WryWebViews>,
    views: Query<(Entity, &WebviewVisible), Changed<WebviewVisible>>,
) {
    for (entity, visible) in views.iter() {
        if let Some(webview) = view_map.0.get(&entity) {
            webview.set_visible(visible.0).output_log_if_failed();
        }
    }
}