[−][src]Struct pokemon_rust::systems::character_movement_system::CharacterMovementSystem
A system responsible for executing character movements. It finds characters
that contain a
CharacterMovement
component (typically added by a
CharacterSingleMoveEvent
or by a
CharacterMoveEvent
) and performs the movement described by it.
This system is not perfectly equivalent for human players and NPCs. The following effects only apply to human players:
- If the destination tile is blocked, the movement is canceled;
- After the movement is completed, the following map events happen, in
this order:
- If the movement includes a map change,
OnMapEnteris triggered on the new map; OnTileChangemap events are triggered;OnSteptile events are triggered.
- If the movement includes a map change,
As for NPCs, the following effects are exclusive:
- If the destination tile is blocked, the movement is suspended until the
tile becomes available again. In particular, this makes
CharacterSingleMoveEventandCharacterMoveEvent"hang" until that happens. - During the movement, the interaction tile (i.e the tile that triggers interaction with this NPC) moves along with the NPC at the start of the movement.
Trait Implementations
impl<'a> System<'a> for CharacterMovementSystem[src]
type SystemData = (WriteStorage<'a, Character>, WriteStorage<'a, CharacterMovement>, ReadStorage<'a, AllowedMovements>, WriteStorage<'a, Transform>, WriteStorage<'a, AnimationTable<CharacterAnimation>>, WriteStorage<'a, SpriteRender>, Entities<'a>, ReadExpect<'a, PlayerEntity>, WriteExpect<'a, MapHandler>, Write<'a, EventQueue>, Read<'a, Time>)
The resource bundle required to execute this system. Read more
fn run(
&mut self,
(characters, movements, allowed_movements_storage, transforms, animation_tables, sprite_renders, entities, player_entity, map, event_queue, time): Self::SystemData
)[src]
&mut self,
(characters, movements, allowed_movements_storage, transforms, animation_tables, sprite_renders, entities, player_entity, map, event_queue, time): Self::SystemData
)
fn running_time(&self) -> RunningTime
fn accessor(&'b self) -> AccessorCow<'a, 'b, Self>
fn setup(&mut self, world: &mut World)
fn dispose(self, world: &mut World)
Auto Trait Implementations
impl RefUnwindSafe for CharacterMovementSystem
impl Send for CharacterMovementSystem
impl Sync for CharacterMovementSystem
impl Unpin for CharacterMovementSystem
impl UnwindSafe for CharacterMovementSystem
Blanket Implementations
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float, [src]
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>, [src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
fn get_type_id(&self) -> TypeId
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Erased for T
impl<T> Event for T where
T: Send + Sync + 'static,
T: Send + Sync + 'static,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Resource for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<'a, T> RunNow<'a> for T where
T: System<'a>,
T: System<'a>,
fn run_now(&mut self, world: &'a World)
fn setup(&mut self, world: &mut World)
fn dispose(self: Box<T>, world: &mut World)
impl<'a, T> RunWithPool<'a> for T where
T: System<'a>,
T: System<'a>,
fn setup(&mut self, world: &mut World)
fn run(&mut self, world: &'a World, &ThreadPool)
fn reads(&self, reads: &mut Vec<ResourceId>)
fn writes(&self, writes: &mut Vec<ResourceId>)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> Supports<T> for T
impl<'s, S> SystemExt for S where
S: System<'s>,
S: System<'s>,
fn pausable<V>(self, value: V) -> Pausable<S, V> where
V: 'static + Send + Sync + Default + PartialEq<V>,
V: 'static + Send + Sync + Default + PartialEq<V>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,