pub enum PhaseCommand {
RemoveEffect(CardId),
RestoreController(CardId),
RemoveGrantedKeywords(CardId),
Cleanup(CardId),
}Expand description
A phase command — a deferred action to execute at a phase boundary.
Mirrors Java’s GameCommand callbacks stored in Phase.
In Java, these are Runnable-like objects that modify game state.
In Rust, we represent them as an enum of known command types,
since we can’t store closures in serializable state.
Variants§
RemoveEffect(CardId)
Remove a continuous effect by its ID.
RestoreController(CardId)
Restore a card’s controller to its owner.
RemoveGrantedKeywords(CardId)
Remove granted keywords from a card.
Cleanup(CardId)
Generic cleanup marker.
Trait Implementations§
Source§impl Clone for PhaseCommand
impl Clone for PhaseCommand
Source§fn clone(&self) -> PhaseCommand
fn clone(&self) -> PhaseCommand
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PhaseCommand
impl RefUnwindSafe for PhaseCommand
impl Send for PhaseCommand
impl Sync for PhaseCommand
impl Unpin for PhaseCommand
impl UnsafeUnpin for PhaseCommand
impl UnwindSafe for PhaseCommand
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.