pub struct DefaultBattleEngine<S: ScriptingEngine> {
pub items: EngineItems,
pub moves: EngineMoves,
pub scripting: S,
}
Fields§
§items: EngineItems
§moves: EngineMoves
§scripting: S
Implementations§
Trait Implementations§
Source§impl<S: ScriptingEngine> BattleEngine for DefaultBattleEngine<S>
impl<S: ScriptingEngine> BattleEngine for DefaultBattleEngine<S>
type MoveError = MoveError<<S as ScriptingEngine>::Error>
type ItemError = ItemError<<S as ScriptingEngine>::Error>
fn execute_move<ID: Clone + Hash + Eq + 'static + Debug, R: Rng + Clone + 'static, PLR: Players<ID>>( &self, random: &mut R, m: &Move, user: Indexed<ID, &BattlePokemon>, targeting: Option<PokemonIdentifier<ID>>, players: &PLR, ) -> Result<Vec<Indexed<ID, MoveResult>>, Self::MoveError>
fn execute_item<ID: PartialEq, R: Rng, PLR: Players<ID>>( &self, battle: &BattleData, random: &mut R, item: &Item, user: &ID, target: PokemonIdentifier<ID>, players: &mut PLR, ) -> Result<Vec<ItemResult>, Self::ItemError>
fn update(&self)
Auto Trait Implementations§
impl<S> Freeze for DefaultBattleEngine<S>where
S: Freeze,
impl<S> RefUnwindSafe for DefaultBattleEngine<S>where
S: RefUnwindSafe,
impl<S> Send for DefaultBattleEngine<S>where
S: Send,
impl<S> Sync for DefaultBattleEngine<S>where
S: Sync,
impl<S> Unpin for DefaultBattleEngine<S>where
S: Unpin,
impl<S> UnwindSafe for DefaultBattleEngine<S>where
S: 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