A lot more documentation, some initial work on the script resolver.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-06-30 17:34:57 +02:00
parent 25e2a0dda1
commit 03f5e3bb5a
18 changed files with 450 additions and 210 deletions

View File

@@ -439,7 +439,11 @@ impl<'own, 'library> Pokemon<'own, 'library> {
let ability_script = self
.library
.load_script(ScriptCategory::Ability, self.active_ability().name())
.load_script(
(self as *const Self).cast(),
ScriptCategory::Ability,
self.active_ability().name(),
)
.unwrap();
if let Some(ability_script) = ability_script {
self.ability_script
@@ -626,14 +630,14 @@ impl<'own, 'library> VolatileScripts<'own> for Pokemon<'own, 'library> {
}
fn load_volatile_script(&self, key: &StringKey) -> PkmnResult<Option<Arc<dyn Script>>> {
self.library.load_script(ScriptCategory::Pokemon, key)
self.library
.load_script((self as *const Self).cast(), ScriptCategory::Pokemon, key)
}
}
#[cfg(test)]
pub mod test {
use crate::dynamic_data::models::pokemon::Pokemon;
use crate::dynamic_data::DynamicLibrary;
use crate::static_data::AbilityIndex;
use crate::static_data::DataLibrary;
use crate::static_data::Gender;