Moves a bunch of libraries to traits
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
use crate::dynamic_data::{BattleStatCalculator, DamageLibrary, DynamicLibrary, MiscLibrary, ScriptResolver};
|
||||
use crate::dynamic_data::{
|
||||
BattleStatCalculator, DamageLibrary, DynamicLibrary, DynamicLibraryImpl, MiscLibrary, ScriptResolver,
|
||||
};
|
||||
use crate::ffi::{IdentifiablePointer, OwnedPtr};
|
||||
use crate::static_data::StaticData;
|
||||
use std::sync::Arc;
|
||||
@@ -6,20 +8,20 @@ use std::sync::Arc;
|
||||
/// Instantiates a new DynamicLibrary with given parameters.
|
||||
#[no_mangle]
|
||||
extern "C" fn dynamic_library_new(
|
||||
static_data: OwnedPtr<StaticData>,
|
||||
static_data: OwnedPtr<Box<dyn StaticData>>,
|
||||
stat_calculator: OwnedPtr<Box<dyn BattleStatCalculator>>,
|
||||
damage_library: OwnedPtr<Box<dyn DamageLibrary>>,
|
||||
misc_library: OwnedPtr<Box<dyn MiscLibrary>>,
|
||||
script_resolver: OwnedPtr<Box<dyn ScriptResolver>>,
|
||||
) -> IdentifiablePointer<Arc<DynamicLibrary>> {
|
||||
) -> IdentifiablePointer<Arc<dyn DynamicLibrary>> {
|
||||
unsafe {
|
||||
Arc::new(DynamicLibrary::new(
|
||||
let a: Arc<dyn DynamicLibrary> = Arc::new(DynamicLibraryImpl::new(
|
||||
*Box::from_raw(static_data),
|
||||
*Box::from_raw(stat_calculator),
|
||||
*Box::from_raw(damage_library),
|
||||
*Box::from_raw(misc_library),
|
||||
*Box::from_raw(script_resolver),
|
||||
))
|
||||
.into()
|
||||
));
|
||||
a.into()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user