pub(crate) struct SchemaDraft<'a> {
table: &'a DescriptorTable,
fields: Vec<ContextField>,
current_offset: usize,
user_var_offsets: FastMap<String, usize>,
user_var_types: FastMap<String, FieldType>,
slots: SlotMaps<usize>,
player_slot: usize,
combat_slot: usize,
pet_slot: usize,
standalone_keys: Vec<(DescriptorId, Option<ResolvedKey>, Option<AuraOn>, usize)>,
spell_usable_pending: Vec<(SpellIdx, usize)>,
}Fields§
§table: &'a DescriptorTable§fields: Vec<ContextField>§current_offset: usize§user_var_offsets: FastMap<String, usize>§user_var_types: FastMap<String, FieldType>§slots: SlotMaps<usize>§player_slot: usize§combat_slot: usize§pet_slot: usize§standalone_keys: Vec<(DescriptorId, Option<ResolvedKey>, Option<AuraOn>, usize)>§spell_usable_pending: Vec<(SpellIdx, usize)>Implementations§
Source§impl<'a> SchemaDraft<'a>
impl<'a> SchemaDraft<'a>
fn new(table: &'a DescriptorTable) -> Self
pub(super) fn add_resolved( &mut self, resolved: &ResolvedFieldRead, ) -> Option<usize>
pub(crate) fn add_user_var(&mut self, name: &str, var_type: FieldType) -> usize
pub(crate) fn register_condition_fields( &mut self, condition: &Condition, resolver: &SpecResolver, ) -> Result<()>
pub(crate) fn register_action_fields( &mut self, action: &AstAction, resolver: &SpecResolver, ) -> Result<()>
pub(crate) fn build_with_resolver( self, resolver: Option<&SpecResolver>, ) -> ContextSchema
fn finalize_size(&self) -> usize
fn force_allocate_spec_slots(&mut self, r: &SpecResolver)
fn into_buffer_offsets(self) -> BufferOffsets
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for SchemaDraft<'a>
impl<'a> RefUnwindSafe for SchemaDraft<'a>
impl<'a> Send for SchemaDraft<'a>
impl<'a> Sync for SchemaDraft<'a>
impl<'a> Unpin for SchemaDraft<'a>
impl<'a> UnsafeUnpin for SchemaDraft<'a>
impl<'a> UnwindSafe for SchemaDraft<'a>
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