pub mod ability_pool;
pub mod backend;
pub mod despawn;
pub mod dot;
pub mod effect;
pub mod events;
pub mod filters;
pub mod gauge;
pub mod gearbox;
pub mod invoke;
pub mod invoker;
pub mod pipeline;
pub mod print;
pub mod propagation;
pub mod spawn;
pub mod target;
pub use bevy_gauge;
pub use bevy_gearbox;
pub use inventory;
pub mod prelude {
pub use crate::backend::{SpatialBackend, DieselCorePlugin};
pub use crate::target::{InvokerTarget, Target, TargetGenerator, TargetMutator, TargetType};
pub use crate::effect::{GoOff, SubEffectOf, SubEffects};
pub use crate::events::{StartInvoke, OnRepeat, CollidedEntity, CollidedPosition};
pub use crate::invoker::{InvokedBy, Invokes, resolve_invoker, resolve_root};
pub use crate::pipeline::{generate_targets, propagate_observer};
pub use crate::print::PrintLn;
pub use crate::spawn::{
OnSpawnInvoker, OnSpawnOrigin, OnSpawnTarget,
SpawnConfig, TemplateRegistry, spawn_observer,
on_spawn_invoker, on_spawn_origin, on_spawn_target,
};
pub use crate::filters::{
CollisionFilter, Collides, NumberType, limit_count, sort_by_distance,
};
pub use crate::gauge::prelude::*;
pub use crate::go_off;
pub use crate::gearbox::repeater::{OnComplete, Repeater, template_repeater};
pub use crate::gearbox::templates::apply_sub_effect;
pub use bevy_gearbox::{SimpleTransition, RegistrationAppExt};
pub use bevy_gearbox::prelude::{
AlwaysEdge, Delay, EnterState, EventEdge, ExitState,
Guards, InitialState, Source, StateMachine, StateComponent, SubstateOf,
};
pub use bevy_gearbox::transitions::{NoEvent, TransitionEvent, EventValidator};
pub use crate::propagation::{
PropagationTargets, PropagationTargetOf, RegisterPropagationTargetRoot,
RegisterPropagationTarget, PropagationRegistrar,
register_propagation_for, propagate_event,
};
pub use crate::submit_propagation_for;
pub use crate::despawn::{QueueDespawn, DelayedDespawn};
pub use crate::invoke::{Ability, InvokeStatus, InvocationComplete, check_should_reinvoke_ability};
pub use crate::ability_pool::{
AvailableAbilities, AvailableAbility, RegisterAbility, UnregisterAbility,
DieselAbilityPoolPlugin, emit_register_on_active, emit_unregister_on_inactive,
collect_all_abilities,
};
pub use crate::dot::{
PeriodicEffectTargets, PeriodicEffectTarget, PeriodicTick, periodic_tick_system,
};
}