[−][src]Struct weasel::creature::RemoveCreature
Event to remove a creature from the battle.
If the creature is the current actor, its turn will be terminated.
The creature will be removed from the corresponding team and its position will be freed.
Examples
use weasel::{ battle_rules, rules::empty::*, Battle, BattleController, BattleRules, CreateCreature, CreateTeam, EventTrigger, RemoveCreature, Server, }; battle_rules! {} let battle = Battle::builder(CustomRules::new()).build(); let mut server = Server::builder(battle).build(); let team_id = 1; CreateTeam::trigger(&mut server, team_id).fire().unwrap(); let creature_id = 1; let position = (); CreateCreature::trigger(&mut server, creature_id, team_id, position) .fire() .unwrap(); RemoveCreature::trigger(&mut server, creature_id).fire().unwrap(); assert_eq!(server.battle().entities().creatures().count(), 0);
Implementations
impl<R: BattleRules> RemoveCreature<R>
[src]
pub fn trigger<P: EventProcessor<R>>(
processor: &mut P,
id: CreatureId<R>
) -> RemoveCreatureTrigger<'_, R, P>
[src]
processor: &mut P,
id: CreatureId<R>
) -> RemoveCreatureTrigger<'_, R, P>
Returns a trigger for this event.
pub fn id(&self) -> &CreatureId<R>
[src]
Returns the id of the creature to be removed.
Trait Implementations
impl<R: BattleRules> Clone for RemoveCreature<R>
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<R: BattleRules> Debug for RemoveCreature<R>
[src]
impl<'de, R: BattleRules> Deserialize<'de> for RemoveCreature<R> where
CreatureId<R>: Deserialize<'de>,
[src]
CreatureId<R>: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<R: BattleRules + 'static> Event<R> for RemoveCreature<R>
[src]
fn verify(&self, battle: &Battle<R>) -> WeaselResult<(), R>
[src]
fn apply(&self, battle: &mut Battle<R>, event_queue: &mut Option<EventQueue<R>>)
[src]
fn kind(&self) -> EventKind
[src]
fn box_clone(&self) -> Box<dyn Event<R> + Send>
[src]
fn as_any(&self) -> &dyn Any
[src]
fn rights<'a>(&'a self, _battle: &'a Battle<R>) -> EventRights<'a, R>
[src]
impl<R: BattleRules> Serialize for RemoveCreature<R> where
CreatureId<R>: Serialize,
[src]
CreatureId<R>: Serialize,
Auto Trait Implementations
impl<R> RefUnwindSafe for RemoveCreature<R> where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: RefUnwindSafe,
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: RefUnwindSafe,
impl<R> Send for RemoveCreature<R> where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Send,
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Send,
impl<R> Sync for RemoveCreature<R> where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Sync,
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Sync,
impl<R> Unpin for RemoveCreature<R> where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Unpin,
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Unpin,
impl<R> UnwindSafe for RemoveCreature<R> where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: UnwindSafe,
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,