pub struct AnimationTransitions { /* private fields */ }
Expand description
Manages fade-out of animation blend factors, allowing for smooth transitions between animations.
To use this component, place it on the same entity as the
AnimationPlayer
and AnimationGraphHandle
. It’ll take
responsibility for adjusting the weight on the ActiveAnimation
in order
to fade out animations smoothly.
When using an AnimationTransitions
component, you should play all
animations through the AnimationTransitions::play
method, rather than by
directly manipulating the AnimationPlayer
. Playing animations through
the AnimationPlayer
directly will cause the AnimationTransitions
component to get confused about which animation is the “main” animation, and
transitions will usually be incorrect as a result.
Implementations§
Source§impl AnimationTransitions
impl AnimationTransitions
Sourcepub fn new() -> AnimationTransitions
pub fn new() -> AnimationTransitions
Creates a new AnimationTransitions
component, ready to be added to
an entity with an AnimationPlayer
.
Examples found in repository?
232fn setup_scene_once_loaded(
233 animations: Res<Animations>,
234 foxes: Res<Foxes>,
235 mut commands: Commands,
236 mut player: Query<(Entity, &mut AnimationPlayer)>,
237 mut done: Local<bool>,
238) {
239 if !*done && player.iter().len() == foxes.count {
240 for (entity, mut player) in &mut player {
241 commands
242 .entity(entity)
243 .insert(AnimationGraphHandle(animations.graph.clone()))
244 .insert(AnimationTransitions::new());
245
246 let playing_animation = player.play(animations.node_indices[0]).repeat();
247 if !foxes.sync {
248 playing_animation.seek_to(entity.index() as f32 / 10.0);
249 }
250 }
251 *done = true;
252 }
253}
More examples
282 fn pause_animation_frame(
283 trigger: Trigger<SceneInstanceReady>,
284 children: Query<&Children>,
285 mut commands: Commands,
286 animation: Res<Animation>,
287 mut players: Query<(Entity, &mut AnimationPlayer)>,
288 ) {
289 for child in children.iter_descendants(trigger.target()) {
290 if let Ok((entity, mut player)) = players.get_mut(child) {
291 let mut transitions = AnimationTransitions::new();
292 transitions
293 .play(&mut player, animation.animation, Duration::ZERO)
294 .seek_to(0.5)
295 .pause();
296
297 commands
298 .entity(entity)
299 .insert(AnimationGraphHandle(animation.graph.clone()))
300 .insert(transitions);
301 }
302 }
303 }
105fn setup_scene_once_loaded(
106 mut commands: Commands,
107 animations: Res<Animations>,
108 mut players: Query<(Entity, &mut AnimationPlayer), Added<AnimationPlayer>>,
109) {
110 for (entity, mut player) in &mut players {
111 let mut transitions = AnimationTransitions::new();
112
113 // Make sure to start the animation via the `AnimationTransitions`
114 // component. The `AnimationTransitions` component wants to manage all
115 // the animations and will get confused if the animations are started
116 // directly via the `AnimationPlayer`.
117 transitions
118 .play(&mut player, animations.animations[0], Duration::ZERO)
119 .repeat();
120
121 commands
122 .entity(entity)
123 .insert(AnimationGraphHandle(animations.graph_handle.clone()))
124 .insert(transitions);
125 }
126}
137fn setup_scene_once_loaded(
138 mut commands: Commands,
139 animations: Res<Animations>,
140 feet: Res<FoxFeetTargets>,
141 graphs: Res<Assets<AnimationGraph>>,
142 mut clips: ResMut<Assets<AnimationClip>>,
143 mut players: Query<(Entity, &mut AnimationPlayer), Added<AnimationPlayer>>,
144) {
145 fn get_clip<'a>(
146 node: AnimationNodeIndex,
147 graph: &AnimationGraph,
148 clips: &'a mut Assets<AnimationClip>,
149 ) -> &'a mut AnimationClip {
150 let node = graph.get(node).unwrap();
151 let clip = match &node.node_type {
152 AnimationNodeType::Clip(handle) => clips.get_mut(handle),
153 _ => unreachable!(),
154 };
155 clip.unwrap()
156 }
157
158 for (entity, mut player) in &mut players {
159 // Send `OnStep` events once the fox feet hits the ground in the running animation.
160
161 let graph = graphs.get(&animations.graph_handle).unwrap();
162 let running_animation = get_clip(animations.index, graph, &mut clips);
163
164 // You can determine the time an event should trigger if you know witch frame it occurs and
165 // the frame rate of the animation. Let's say we want to trigger an event at frame 15,
166 // and the animation has a frame rate of 24 fps, then time = 15 / 24 = 0.625.
167 running_animation.add_event_to_target(feet.front_left, 0.625, OnStep);
168 running_animation.add_event_to_target(feet.front_right, 0.5, OnStep);
169 running_animation.add_event_to_target(feet.back_left, 0.0, OnStep);
170 running_animation.add_event_to_target(feet.back_right, 0.125, OnStep);
171
172 // Start the animation
173
174 let mut transitions = AnimationTransitions::new();
175
176 // Make sure to start the animation via the `AnimationTransitions`
177 // component. The `AnimationTransitions` component wants to manage all
178 // the animations and will get confused if the animations are started
179 // directly via the `AnimationPlayer`.
180 transitions
181 .play(&mut player, animations.index, Duration::ZERO)
182 .repeat();
183
184 commands
185 .entity(entity)
186 .insert(AnimationGraphHandle(animations.graph_handle.clone()))
187 .insert(transitions);
188 }
189}
Sourcepub fn play<'p>(
&mut self,
player: &'p mut AnimationPlayer,
new_animation: NodeIndex,
transition_duration: Duration,
) -> &'p mut ActiveAnimation
pub fn play<'p>( &mut self, player: &'p mut AnimationPlayer, new_animation: NodeIndex, transition_duration: Duration, ) -> &'p mut ActiveAnimation
Plays a new animation on the given AnimationPlayer
, fading out any
existing animations that were already playing over the
transition_duration
.
Pass Duration::ZERO
to instantly switch to a new animation, avoiding
any transition.
Examples found in repository?
282 fn pause_animation_frame(
283 trigger: Trigger<SceneInstanceReady>,
284 children: Query<&Children>,
285 mut commands: Commands,
286 animation: Res<Animation>,
287 mut players: Query<(Entity, &mut AnimationPlayer)>,
288 ) {
289 for child in children.iter_descendants(trigger.target()) {
290 if let Ok((entity, mut player)) = players.get_mut(child) {
291 let mut transitions = AnimationTransitions::new();
292 transitions
293 .play(&mut player, animation.animation, Duration::ZERO)
294 .seek_to(0.5)
295 .pause();
296
297 commands
298 .entity(entity)
299 .insert(AnimationGraphHandle(animation.graph.clone()))
300 .insert(transitions);
301 }
302 }
303 }
More examples
105fn setup_scene_once_loaded(
106 mut commands: Commands,
107 animations: Res<Animations>,
108 mut players: Query<(Entity, &mut AnimationPlayer), Added<AnimationPlayer>>,
109) {
110 for (entity, mut player) in &mut players {
111 let mut transitions = AnimationTransitions::new();
112
113 // Make sure to start the animation via the `AnimationTransitions`
114 // component. The `AnimationTransitions` component wants to manage all
115 // the animations and will get confused if the animations are started
116 // directly via the `AnimationPlayer`.
117 transitions
118 .play(&mut player, animations.animations[0], Duration::ZERO)
119 .repeat();
120
121 commands
122 .entity(entity)
123 .insert(AnimationGraphHandle(animations.graph_handle.clone()))
124 .insert(transitions);
125 }
126}
127
128fn keyboard_control(
129 keyboard_input: Res<ButtonInput<KeyCode>>,
130 mut animation_players: Query<(&mut AnimationPlayer, &mut AnimationTransitions)>,
131 animations: Res<Animations>,
132 mut current_animation: Local<usize>,
133) {
134 for (mut player, mut transitions) in &mut animation_players {
135 let Some((&playing_animation_index, _)) = player.playing_animations().next() else {
136 continue;
137 };
138
139 if keyboard_input.just_pressed(KeyCode::Space) {
140 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
141 if playing_animation.is_paused() {
142 playing_animation.resume();
143 } else {
144 playing_animation.pause();
145 }
146 }
147
148 if keyboard_input.just_pressed(KeyCode::ArrowUp) {
149 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
150 let speed = playing_animation.speed();
151 playing_animation.set_speed(speed * 1.2);
152 }
153
154 if keyboard_input.just_pressed(KeyCode::ArrowDown) {
155 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
156 let speed = playing_animation.speed();
157 playing_animation.set_speed(speed * 0.8);
158 }
159
160 if keyboard_input.just_pressed(KeyCode::ArrowLeft) {
161 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
162 let elapsed = playing_animation.seek_time();
163 playing_animation.seek_to(elapsed - 0.1);
164 }
165
166 if keyboard_input.just_pressed(KeyCode::ArrowRight) {
167 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
168 let elapsed = playing_animation.seek_time();
169 playing_animation.seek_to(elapsed + 0.1);
170 }
171
172 if keyboard_input.just_pressed(KeyCode::Enter) {
173 *current_animation = (*current_animation + 1) % animations.animations.len();
174
175 transitions
176 .play(
177 &mut player,
178 animations.animations[*current_animation],
179 Duration::from_millis(250),
180 )
181 .repeat();
182 }
183
184 if keyboard_input.just_pressed(KeyCode::Digit1) {
185 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
186 playing_animation
187 .set_repeat(RepeatAnimation::Count(1))
188 .replay();
189 }
190
191 if keyboard_input.just_pressed(KeyCode::Digit2) {
192 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
193 playing_animation
194 .set_repeat(RepeatAnimation::Count(2))
195 .replay();
196 }
197
198 if keyboard_input.just_pressed(KeyCode::Digit3) {
199 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
200 playing_animation
201 .set_repeat(RepeatAnimation::Count(3))
202 .replay();
203 }
204
205 if keyboard_input.just_pressed(KeyCode::KeyL) {
206 let playing_animation = player.animation_mut(playing_animation_index).unwrap();
207 playing_animation.set_repeat(RepeatAnimation::Forever);
208 }
209 }
210}
271fn keyboard_animation_control(
272 keyboard_input: Res<ButtonInput<KeyCode>>,
273 mut animation_player: Query<(&mut AnimationPlayer, &mut AnimationTransitions)>,
274 animations: Res<Animations>,
275 mut current_animation: Local<usize>,
276 mut foxes: ResMut<Foxes>,
277) {
278 if keyboard_input.just_pressed(KeyCode::Space) {
279 foxes.moving = !foxes.moving;
280 }
281
282 if keyboard_input.just_pressed(KeyCode::ArrowUp) {
283 foxes.speed *= 1.25;
284 }
285
286 if keyboard_input.just_pressed(KeyCode::ArrowDown) {
287 foxes.speed *= 0.8;
288 }
289
290 if keyboard_input.just_pressed(KeyCode::Enter) {
291 *current_animation = (*current_animation + 1) % animations.node_indices.len();
292 }
293
294 for (mut player, mut transitions) in &mut animation_player {
295 if keyboard_input.just_pressed(KeyCode::Space) {
296 if player.all_paused() {
297 player.resume_all();
298 } else {
299 player.pause_all();
300 }
301 }
302
303 if keyboard_input.just_pressed(KeyCode::ArrowUp) {
304 player.adjust_speeds(1.25);
305 }
306
307 if keyboard_input.just_pressed(KeyCode::ArrowDown) {
308 player.adjust_speeds(0.8);
309 }
310
311 if keyboard_input.just_pressed(KeyCode::ArrowLeft) {
312 player.seek_all_by(-0.1);
313 }
314
315 if keyboard_input.just_pressed(KeyCode::ArrowRight) {
316 player.seek_all_by(0.1);
317 }
318
319 if keyboard_input.just_pressed(KeyCode::Enter) {
320 transitions
321 .play(
322 &mut player,
323 animations.node_indices[*current_animation],
324 Duration::from_millis(250),
325 )
326 .repeat();
327 }
328 }
329}
137fn setup_scene_once_loaded(
138 mut commands: Commands,
139 animations: Res<Animations>,
140 feet: Res<FoxFeetTargets>,
141 graphs: Res<Assets<AnimationGraph>>,
142 mut clips: ResMut<Assets<AnimationClip>>,
143 mut players: Query<(Entity, &mut AnimationPlayer), Added<AnimationPlayer>>,
144) {
145 fn get_clip<'a>(
146 node: AnimationNodeIndex,
147 graph: &AnimationGraph,
148 clips: &'a mut Assets<AnimationClip>,
149 ) -> &'a mut AnimationClip {
150 let node = graph.get(node).unwrap();
151 let clip = match &node.node_type {
152 AnimationNodeType::Clip(handle) => clips.get_mut(handle),
153 _ => unreachable!(),
154 };
155 clip.unwrap()
156 }
157
158 for (entity, mut player) in &mut players {
159 // Send `OnStep` events once the fox feet hits the ground in the running animation.
160
161 let graph = graphs.get(&animations.graph_handle).unwrap();
162 let running_animation = get_clip(animations.index, graph, &mut clips);
163
164 // You can determine the time an event should trigger if you know witch frame it occurs and
165 // the frame rate of the animation. Let's say we want to trigger an event at frame 15,
166 // and the animation has a frame rate of 24 fps, then time = 15 / 24 = 0.625.
167 running_animation.add_event_to_target(feet.front_left, 0.625, OnStep);
168 running_animation.add_event_to_target(feet.front_right, 0.5, OnStep);
169 running_animation.add_event_to_target(feet.back_left, 0.0, OnStep);
170 running_animation.add_event_to_target(feet.back_right, 0.125, OnStep);
171
172 // Start the animation
173
174 let mut transitions = AnimationTransitions::new();
175
176 // Make sure to start the animation via the `AnimationTransitions`
177 // component. The `AnimationTransitions` component wants to manage all
178 // the animations and will get confused if the animations are started
179 // directly via the `AnimationPlayer`.
180 transitions
181 .play(&mut player, animations.index, Duration::ZERO)
182 .repeat();
183
184 commands
185 .entity(entity)
186 .insert(AnimationGraphHandle(animations.graph_handle.clone()))
187 .insert(transitions);
188 }
189}
Sourcepub fn get_main_animation(&self) -> Option<NodeIndex>
pub fn get_main_animation(&self) -> Option<NodeIndex>
Obtain the currently playing main animation.
Trait Implementations§
Source§impl Clone for AnimationTransitions
impl Clone for AnimationTransitions
Source§fn clone(&self) -> AnimationTransitions
fn clone(&self) -> AnimationTransitions
Source§fn clone_from(&mut self, source: &AnimationTransitions)
fn clone_from(&mut self, source: &AnimationTransitions)
source
. Read moreSource§impl Component for AnimationTransitions
impl Component for AnimationTransitions
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
Component::on_add
, etc.)ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper
. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component
, this is populated by annotating fields containing entities with #[entities]
Read moreSource§impl Default for AnimationTransitions
impl Default for AnimationTransitions
Source§fn default() -> AnimationTransitions
fn default() -> AnimationTransitions
Source§impl FromArg for &'static AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for &'static mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromReflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(
reflect: &(dyn PartialReflect + 'static),
) -> Option<AnimationTransitions>
fn from_reflect( reflect: &(dyn PartialReflect + 'static), ) -> Option<AnimationTransitions>
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetOwnership for &AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for &mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetTypeRegistration for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl IntoReturn for &AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&AnimationTransitions: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&AnimationTransitions: 'into_return,
Source§impl IntoReturn for &mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &mut AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&mut AnimationTransitions: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&mut AnimationTransitions: 'into_return,
Source§impl IntoReturn for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
AnimationTransitions: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
AnimationTransitions: 'into_return,
Source§impl PartialReflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(
&mut self,
value: &(dyn PartialReflect + 'static),
) -> Result<(), ApplyError>
fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<AnimationTransitions>) -> ReflectOwned
fn reflect_owned(self: Box<AnimationTransitions>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<AnimationTransitions>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<AnimationTransitions>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
Source§fn into_partial_reflect(
self: Box<AnimationTransitions>,
) -> Box<dyn PartialReflect>
fn into_partial_reflect( self: Box<AnimationTransitions>, ) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<AnimationTransitions>) -> Box<dyn Any>
fn into_any(self: Box<AnimationTransitions>) -> Box<dyn Any>
Box<dyn Any>
. Read moreSource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<AnimationTransitions>) -> Box<dyn Reflect>
fn into_reflect(self: Box<AnimationTransitions>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
Source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
Source§impl Struct for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
name
as a &dyn PartialReflect
.Source§fn field_mut(
&mut self,
name: &str,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, name: &str, ) -> Option<&mut (dyn PartialReflect + 'static)>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_at_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
index
as a &mut dyn PartialReflect
.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.Source§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
to_dynamic_struct
insteadDynamicStruct
.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for AnimationTransitions
impl TypePath for AnimationTransitions
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for AnimationTransitionswhere
AnimationTransitions: Any + Send + Sync,
Option<NodeIndex>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Vec<AnimationTransition>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Auto Trait Implementations§
impl Freeze for AnimationTransitions
impl RefUnwindSafe for AnimationTransitions
impl Send for AnimationTransitions
impl Sync for AnimationTransitions
impl Unpin for AnimationTransitions
impl UnwindSafe for AnimationTransitions
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
&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)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.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>
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>
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)
&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)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info
.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.