pub struct FsmInstance {
pub id: u32,
pub name: String,
pub states: HashMap<u32, FsmState>,
pub transitions: Vec<FsmTransition>,
pub initial_state: Option<u32>,
pub current_state: Option<u32>,
pub time_in_state: f32,
pub transition_history: VecDeque<(u32, u32, f32)>,
pub next_state_id: u32,
pub next_transition_id: u32,
}Fields§
§id: u32§name: String§states: HashMap<u32, FsmState>§transitions: Vec<FsmTransition>§initial_state: Option<u32>§current_state: Option<u32>§time_in_state: f32§transition_history: VecDeque<(u32, u32, f32)>§next_state_id: u32§next_transition_id: u32Implementations§
Source§impl FsmInstance
impl FsmInstance
pub fn new(id: u32, name: &str) -> Self
pub fn add_state(&mut self, name: &str) -> u32
pub fn set_initial(&mut self, state_id: u32)
pub fn add_transition( &mut self, from: u32, to: u32, condition: FsmConditionOp, priority: i32, ) -> u32
pub fn start(&mut self, blackboard: &mut Blackboard)
pub fn tick(&mut self, blackboard: &mut Blackboard, dt: f32, current_time: f32)
Sourcepub fn auto_layout(&mut self)
pub fn auto_layout(&mut self)
Auto-layout states using circular layout
Auto Trait Implementations§
impl Freeze for FsmInstance
impl RefUnwindSafe for FsmInstance
impl Send for FsmInstance
impl Sync for FsmInstance
impl Unpin for FsmInstance
impl UnsafeUnpin for FsmInstance
impl UnwindSafe for FsmInstance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.