pub(crate) struct AuraDependencyPlan {Show 14 fields
entries: Box<[AuraDependencyEntry]>,
concrete_entries: Box<[ConcreteAuraDependencyEntry]>,
cost_spells: Box<[SpellConsumerBinding]>,
recharge_spells: Box<[LocalSpellIdx]>,
maximum_charge_spells: Box<[LocalSpellIdx]>,
gate_spells: Box<[SpellConsumerBinding]>,
aura_timing: Box<[LocalAuraIdx]>,
aura_timing_bindings: Box<[ActorRanges<ConcreteAuraBinding>]>,
control_peers: Box<[ActorRanges<ControlPeerDependency>]>,
projections: Box<[ProjectionDependency]>,
projection_sources: Box<[Option<AuraSlotHandle>]>,
projection_target_count: usize,
exclusive_peers: Box<[ConcreteAuraBinding]>,
exclusive_spells: Box<[ExclusiveSpellDependency]>,
}Expand description
Flattened finalized dependency graph indexed by stable local aura identity.
Fields§
§entries: Box<[AuraDependencyEntry]>§concrete_entries: Box<[ConcreteAuraDependencyEntry]>§cost_spells: Box<[SpellConsumerBinding]>§recharge_spells: Box<[LocalSpellIdx]>§maximum_charge_spells: Box<[LocalSpellIdx]>§gate_spells: Box<[SpellConsumerBinding]>§aura_timing: Box<[LocalAuraIdx]>§aura_timing_bindings: Box<[ActorRanges<ConcreteAuraBinding>]>§control_peers: Box<[ActorRanges<ControlPeerDependency>]>§projections: Box<[ProjectionDependency]>§projection_sources: Box<[Option<AuraSlotHandle>]>§projection_target_count: usize§exclusive_peers: Box<[ConcreteAuraBinding]>§exclusive_spells: Box<[ExclusiveSpellDependency]>Implementations§
Source§impl AuraDependencyPlan
impl AuraDependencyPlan
pub(crate) fn bind( graph: AuraDependencyGraph, auras: &[AuraData], schema: &ContextSchema, bindings: &BufferBindings, enemy_count: usize, ) -> Self
pub(crate) fn consumers(&self, aura: LocalAuraIdx) -> AuraDependencies
pub(crate) fn cost_spells(&self, aura: LocalAuraIdx) -> &[SpellConsumerBinding]
pub(crate) fn recharge_spells(&self, aura: LocalAuraIdx) -> &[LocalSpellIdx]
pub(crate) fn maximum_charge_spells( &self, aura: LocalAuraIdx, ) -> &[LocalSpellIdx]
pub(crate) fn gate_spells(&self, aura: LocalAuraIdx) -> &[SpellConsumerBinding]
pub(crate) fn aura_timing(&self, aura: LocalAuraIdx) -> &[LocalAuraIdx]
pub(crate) fn aura_timing_bindings( &self, aura: LocalAuraIdx, actor: ActorId, ) -> &[ConcreteAuraBinding]
pub(crate) fn control_peers( &self, aura: LocalAuraIdx, actor: ActorId, ) -> &[ControlPeerDependency]
pub(crate) fn projections(&self, aura: LocalAuraIdx) -> &[ProjectionDependency]
pub(crate) fn all_projections(&self) -> &[ProjectionDependency]
pub(crate) fn projection( &self, index: AuraProjectionDependencyIdx, ) -> ProjectionDependency
pub(crate) const fn projection_count(&self) -> usize
pub(crate) fn projection_index( &self, dependency: ProjectionDependency, ) -> AuraProjectionDependencyIdx
pub(crate) fn exclusive_peers( &self, binding: ConcreteAuraBinding, ) -> &[ConcreteAuraBinding]
pub(crate) fn exclusive_spells( &self, aura: LocalAuraIdx, ) -> &[ExclusiveSpellDependency]
pub(crate) fn projection_source( &self, dependency: ProjectionDependency, target: Option<EnemyIdx>, ) -> Option<AuraSlotHandle>
pub(crate) fn validate(&self, aura_count: usize, spell_count: usize) -> bool
fn entry(&self, aura: LocalAuraIdx) -> &AuraDependencyEntry
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AuraDependencyPlan
impl RefUnwindSafe for AuraDependencyPlan
impl Send for AuraDependencyPlan
impl Sync for AuraDependencyPlan
impl Unpin for AuraDependencyPlan
impl UnsafeUnpin for AuraDependencyPlan
impl UnwindSafe for AuraDependencyPlan
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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 more