pub struct SelectOutfit {
pub choices: BTreeMap<String, String>,
}Expand description
select-outfit{choices=key:value;key:value} (required): resolves the named axes only, to the named values (by name
or index), and leaves every other global axis unresolved, with the conditions and primitive conditions that
depend on it reduced as ResolveState reduces them. It is what a recipe of chosen ids replays: a program (a
website) picks some outfits and accessories from a catalog and the rest stays open. Everything else is as for
resolve-state, whose report it gives (the members and primitives dropped, counted per axis and value), with the
differences that a key naming no axis is an error naming the axes there are, and that an axis scoped to an entity
and not named resolves by its default (an error when it has none) as it cannot stay.
Fields§
§choices: BTreeMap<String, String>key -> value text, as given; never empty.
Trait Implementations§
Source§impl Clone for SelectOutfit
impl Clone for SelectOutfit
Source§impl Debug for SelectOutfit
impl Debug for SelectOutfit
impl Eq for SelectOutfit
Source§impl PartialEq for SelectOutfit
impl PartialEq for SelectOutfit
Source§impl Pass for SelectOutfit
impl Pass for SelectOutfit
Source§fn options(&self) -> Options
fn options(&self) -> Options
Source§fn modifies(&self) -> &[&'static str]
fn modifies(&self) -> &[&'static str]
World::resource_mut). The pass manager checks the resources; an in-place edit of a
component’s value on an entity that keeps it (get_mut, or World::insert over the value) is declared here
and not checked: seeing it would take a controlled editing interface, later work. What the gap costs: a pass that
edits a value in place without declaring it here is never named, in any build, and its edit can make what the
declarations say about that name wrong (Pipeline::unfed, Pipeline::check); one that leaves an invalid value there is named at the pass in a build with the
pass checks, and in a release build without them only by the verifier that runs before the writer, which names the
entity but not the pass. Adding a name to an entity, taking one away and despawning are checked entity by entity
against Pass::provides, Pass::removes and Pass::despawns_entities.Source§fn despawns_entities(&self) -> bool
fn despawns_entities(&self) -> bool
Pass::removes may disappear
when every entity that held the name before the pass was despawned by it (a dropped placement’s
core.name, a discarded form’s dialect data); a name still held by a surviving entity before the pass must
be declared as ever. Added names are checked as for every pass.fn run(&self, w: &mut World, log: &mut PassLog) -> Result<(), String>
Source§fn may_lack_inputs(&self) -> bool
fn may_lack_inputs(&self) -> bool
StepReport::skipped). Required names are prerequisites, so this is false
unless the pass says otherwise: an absent name may be a failed load or a wrong order, and a pass that
summarizes, decides or plans never opts in.Source§fn settings(&self) -> &[Setting]
fn settings(&self) -> &[Setting]
crate::parallel::THREADS, PassManager::with_settings): checked with Pass::requires before it runs and
refused where absent, never counted in whether it is skipped (Pass::may_lack_inputs), and stated in its
step’s report.Source§fn approximates(&self) -> &'static str
fn approximates(&self) -> &'static str
Source§fn removes_by_log(&self) -> bool
fn removes_by_log(&self) -> bool
crate::Component::apply_linear does). If so, a component name that disappears is accepted when the pass
recorded it in PassLog::removed as well as when it is declared in Pass::removes; a name that disappears
unrecorded and undeclared is an error as ever, and a resource it removes must be declared as for any pass.Source§fn settles(&self) -> &[&'static str]
fn settles(&self) -> &[&'static str]
PassManager::run refuses such a pipeline before it runs (Error::SettledThenChanged).
Modifying settled values later is allowed. A modifier must not add
values without declaring them in Pass::provides; the target’s value rules check the result.impl StructuralPartialEq for SelectOutfit
Auto Trait Implementations§
impl Forget for SelectOutfit
impl Freeze for SelectOutfit
impl RefUnwindSafe for SelectOutfit
impl Send for SelectOutfit
impl Sync for SelectOutfit
impl Unpin for SelectOutfit
impl UnsafeUnpin for SelectOutfit
impl UnwindSafe for SelectOutfit
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.