pub enum Imperative {
Show 13 variants
Choose(ChooseImperative),
CreateToken(CreateTokenImperative),
DealsDamage(DealsDamageImperative),
Destroy(DestroyImperative),
Discard(DiscardImperative),
Draw(DrawImperative),
Exile(ExileImperative),
GainLife(GainLifeImperative),
GenerateContinuousEffect(GenerateContinuousEffectImperative),
PutCounters(PutCountersImperative),
RemoveCounters(RemoveCountersImperative),
Return(ReturnImperative),
Sacrifice(SacrificeImperative),
}Expand description
An imperative is an instruction a player must follow. It represents something that shall be done, and can appear in many places: In spell / ability resolution, in costs, etc.
Imperatives regroups a lot of what “can be done” in the game: draw cards, destroy things, move cards around, etc.
Variants§
Choose(ChooseImperative)
CreateToken(CreateTokenImperative)
DealsDamage(DealsDamageImperative)
Destroy(DestroyImperative)
Discard(DiscardImperative)
Draw(DrawImperative)
Exile(ExileImperative)
GainLife(GainLifeImperative)
GenerateContinuousEffect(GenerateContinuousEffectImperative)
PutCounters(PutCountersImperative)
RemoveCounters(RemoveCountersImperative)
Return(ReturnImperative)
Sacrifice(SacrificeImperative)
Trait Implementations§
Source§impl AbilityTreeNode for Imperative
impl AbilityTreeNode for Imperative
Source§fn children(&self) -> ArrayVec<&dyn AbilityTreeNode, MAX_CHILDREN_PER_NODE>
fn children(&self) -> ArrayVec<&dyn AbilityTreeNode, MAX_CHILDREN_PER_NODE>
Get all of the nodes children, as abstract ability tree node. Read more
Source§fn display(&self, out: &mut TreeFormatter<'_>) -> Result<()>
fn display(&self, out: &mut TreeFormatter<'_>) -> Result<()>
Display the ability tree in a human readable manner into the given output. Read more
Source§fn node_tag(&self) -> &'static str
fn node_tag(&self) -> &'static str
The node tag is a simple one word string that indicates what kind of node it is. Read more
Source§fn node_description(&self) -> String
fn node_description(&self) -> String
The node name is more advanced version of the tag, and can allocate memory to dynamically
changed based on the nodes internals. Read more
Source§impl Clone for Imperative
impl Clone for Imperative
Source§fn clone(&self) -> Imperative
fn clone(&self) -> Imperative
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Imperative
impl Debug for Imperative
Source§impl<'de> Deserialize<'de> for Imperative
impl<'de> Deserialize<'de> for Imperative
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl DummyInit for Imperative
Available on crate feature parser only.
impl DummyInit for Imperative
Available on crate feature
parser only.fn dummy_init() -> Self
Source§impl PartialEq for Imperative
impl PartialEq for Imperative
Source§impl Serialize for Imperative
impl Serialize for Imperative
impl Eq for Imperative
impl StructuralPartialEq for Imperative
Auto Trait Implementations§
impl Freeze for Imperative
impl RefUnwindSafe for Imperative
impl Send for Imperative
impl Sync for Imperative
impl Unpin for Imperative
impl UnwindSafe for Imperative
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