Rust crate and Swift package to easily integrate iOS's native UIAlerts API into a Bevy application.
demo from our game using this crate: zoolitaire.com
See also bevy_ios_iap, bevy_ios_notifications, bevy_ios_gamecenter, bevy_ios_review & bevy_ios_impact
- Add to XCode: Add SPM (Swift Package Manager) dependency
- Add Rust dependency
- Setup Plugin
Go to File
-> Add Package Dependencies
and paste https://github.com/rustunit/bevy_ios_alerts.git
into the search bar on the top right:
cargo add bevy_ios_alerts
or
bevy_ios_alerts = { version = "0.2" }
Initialize Bevy Plugin:
app.add_plugins(bevy_ios_alerts::IosAlertsPlugin);
Trigger Alert in your application code:
fn system_triggerin_alerts(mut events: EventWriter<IosAlert>) {
events.send(IosAlert::Message {
title: String::from("title"),
msg: String::from("msg"),
button: String::from("ok"),
});
events.send(IosAlert::Dialog {
title: String::from("title"),
msg: String::from("this is a dialog with multiple buttons"),
button_yes: String::from("absolutely yes"),
button_no: String::from("no no no"),
});
events.send(IosAlert::Input {
title: String::from("title"),
msg: String::from("input box"),
button: String::from("ok"),
placeholder: String::from("placeholder"),
});
}
fn process_alert_response(mut events: EventReader<IosAlertResponse>) {
for e in events.read() {
info!("incoming alert response: {e:?}");
}
}
- bevy_debug_log
- bevy_device_lang
- bevy_web_popups
- bevy_libgdx_atlas
- bevy_ios_review
- bevy_ios_iap
- bevy_ios_alerts
- bevy_ios_notifications
- bevy_ios_impact
bevy | bevy_ios_alerts |
---|---|
0.14 | 0.3,main |
0.14 | 0.2 |
0.13 | 0.1 |
All code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This means you can select the license you prefer.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.