pub struct ConvertCreature<R: BattleRules> { /* private fields */ }
Expand description
Event to move a creature from its current team to another one.
§Examples
use weasel::{
battle_rules, rules::empty::*, Actor, Battle, BattleController, BattleRules,
ConvertCreature, CreateCreature, CreateTeam, EventTrigger, Server,
};
battle_rules! {}
let battle = Battle::builder(CustomRules::new()).build();
let mut server = Server::builder(battle).build();
let team_blue_id = 1;
let team_red_id = 2;
CreateTeam::trigger(&mut server, team_blue_id).fire().unwrap();
CreateTeam::trigger(&mut server, team_red_id).fire().unwrap();
let creature_id = 1;
let position = ();
CreateCreature::trigger(&mut server, creature_id, team_blue_id, position)
.fire()
.unwrap();
ConvertCreature::trigger(&mut server, creature_id, team_red_id).fire().unwrap();
assert_eq!(
*server
.battle()
.entities()
.creature(&creature_id)
.unwrap()
.team_id(),
team_red_id
);
Implementations§
Source§impl<R: BattleRules> ConvertCreature<R>
impl<R: BattleRules> ConvertCreature<R>
Sourcepub fn trigger<P: EventProcessor<R>>(
processor: &mut P,
creature_id: CreatureId<R>,
team_id: TeamId<R>,
) -> ConvertCreatureTrigger<'_, R, P>
pub fn trigger<P: EventProcessor<R>>( processor: &mut P, creature_id: CreatureId<R>, team_id: TeamId<R>, ) -> ConvertCreatureTrigger<'_, R, P>
Returns a trigger for this event.
Sourcepub fn creature_id(&self) -> &CreatureId<R>
pub fn creature_id(&self) -> &CreatureId<R>
Returns the id of the creature to be converted.
Trait Implementations§
Source§impl<R: BattleRules> Clone for ConvertCreature<R>
impl<R: BattleRules> Clone for ConvertCreature<R>
Source§impl<R: BattleRules> Debug for ConvertCreature<R>
impl<R: BattleRules> Debug for ConvertCreature<R>
Source§impl<'de, R: BattleRules> Deserialize<'de> for ConvertCreature<R>
impl<'de, R: BattleRules> Deserialize<'de> for ConvertCreature<R>
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<R: BattleRules + 'static> Event<R> for ConvertCreature<R>
impl<R: BattleRules + 'static> Event<R> for ConvertCreature<R>
Source§impl<R: BattleRules> Serialize for ConvertCreature<R>
impl<R: BattleRules> Serialize for ConvertCreature<R>
Auto Trait Implementations§
impl<R> Freeze for ConvertCreature<R>where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Freeze,
<<R as BattleRules>::TR as TeamRules<R>>::Id: Freeze,
impl<R> RefUnwindSafe for ConvertCreature<R>where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: RefUnwindSafe,
<<R as BattleRules>::TR as TeamRules<R>>::Id: RefUnwindSafe,
impl<R> Send for ConvertCreature<R>
impl<R> Sync for ConvertCreature<R>where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Sync,
<<R as BattleRules>::TR as TeamRules<R>>::Id: Sync,
impl<R> Unpin for ConvertCreature<R>where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: Unpin,
<<R as BattleRules>::TR as TeamRules<R>>::Id: Unpin,
impl<R> UnwindSafe for ConvertCreature<R>where
<<R as BattleRules>::CR as CharacterRules<R>>::CreatureId: UnwindSafe,
<<R as BattleRules>::TR as TeamRules<R>>::Id: UnwindSafe,
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