bevy_gantz 0.2.0

A bevy plugin for gantz
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Builtins trait and Bevy resource wrapper.

use bevy_ecs::prelude::*;
pub use gantz_core::Builtins;

/// Resource wrapper for `dyn Builtins`.
///
/// This allows storing builtins as a Bevy resource while keeping the
/// `Builtins` trait object-safe.
#[derive(Resource)]
pub struct BuiltinNodes<N: 'static + Send + Sync>(pub Box<dyn Builtins<Node = N>>);

impl<N: 'static + Send + Sync> std::ops::Deref for BuiltinNodes<N> {
    type Target = dyn Builtins<Node = N>;
    fn deref(&self) -> &Self::Target {
        &*self.0
    }
}