use input::Button;
#[derive(Clone, RustcDecodable, RustcEncodable, PartialEq)]
pub enum Behavior<A> {
Pressed(Button),
Released(Button),
Action(A),
Fail(Box<Behavior<A>>),
AlwaysSucceed(Box<Behavior<A>>),
Select(Vec<Behavior<A>>),
Wait(f64),
WaitForever,
If(Box<Behavior<A>>, Box<Behavior<A>>, Box<Behavior<A>>),
Sequence(Vec<Behavior<A>>),
While(Box<Behavior<A>>, Vec<Behavior<A>>),
WhenAll(Vec<Behavior<A>>),
WhenAny(Vec<Behavior<A>>),
After(Vec<Behavior<A>>),
}