behavior_tree/
macros.rs

1#[macro_export]
2macro_rules! cond {
3    ($cond:expr, $a:expr, $b:expr $(,)?) => {
4        Node::cond(stringify!($cond), $cond, $a, $b)
5    };
6}
7
8#[macro_export]
9macro_rules! sequence {
10    ($($x:expr),+ $(,)?) => {
11        // Node::named_sequence(stringify!($($x),+), vec![$($x),+])
12        Node::sequence(vec![$($x),+])
13    }
14}
15
16#[macro_export]
17macro_rules! named_sequence {
18    ($name:expr, $($x:expr),+ $(,)?) => {
19        Node::named_sequence($name, vec![$($x),+])
20    }
21}
22
23#[macro_export]
24macro_rules! select {
25    ($($x:expr),+ $(,)?) => {
26        Node::named_select(stringify!($($x),+), vec![$($x),+])
27    }
28}
29
30#[macro_export]
31macro_rules! while_single {
32    ($cond:expr, $child:expr $(,)?) => {
33        Node::named_while_single(stringify!($cond), $cond, $child)
34    };
35}
36
37#[macro_export]
38macro_rules! maybe_profile_function {
39    () => {
40        #[cfg(feature = "puffin")]
41        puffin::profile_function!();
42    }
43}