bevy_web_popups 0.7.0

Allows to trigger web/dom based popups/alerts and textinput in bevy
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use bevy_channel_trigger::ChannelSender;
use std::sync::OnceLock;

use crate::plugin::WebAlertResponse;

static SENDER: OnceLock<Option<ChannelSender<WebAlertResponse>>> = OnceLock::new();

pub fn send_event(e: WebAlertResponse) {
    let Some(sender) = SENDER.get().and_then(Option::as_ref) else {
        return bevy_log::error!("`WebAlertsPlugin` not installed correctly (no sender found)");
    };
    sender.send(e);
}

pub fn set_sender(sender: ChannelSender<WebAlertResponse>) {
    while SENDER.set(Some(sender.clone())).is_err() {}
}