avm2: Convert external_interface to use ParametersExt
This commit is contained in:
parent
2513292566
commit
218b621ae3
|
@ -1,3 +1,4 @@
|
|||
use crate::avm2::parameters::ParametersExt;
|
||||
use crate::avm2::{Activation, Error, Object, Value};
|
||||
use crate::external::{Callback, Value as ExternalValue};
|
||||
|
||||
|
@ -6,11 +7,7 @@ pub fn call<'gc>(
|
|||
_this: Option<Object<'gc>>,
|
||||
args: &[Value<'gc>],
|
||||
) -> Result<Value<'gc>, Error<'gc>> {
|
||||
if args.is_empty() {
|
||||
return Ok(Value::Null);
|
||||
}
|
||||
|
||||
let name = args.get(0).unwrap().coerce_to_string(activation)?;
|
||||
let name = args.get_string(activation, 0)?;
|
||||
if let Some(method) = activation
|
||||
.context
|
||||
.external_interface
|
||||
|
@ -41,18 +38,12 @@ pub fn add_callback<'gc>(
|
|||
_this: Option<Object<'gc>>,
|
||||
args: &[Value<'gc>],
|
||||
) -> Result<Value<'gc>, Error<'gc>> {
|
||||
if args.len() < 2 {
|
||||
return Ok(Value::Undefined);
|
||||
}
|
||||
let name = args.get_string(activation, 0)?;
|
||||
let method = args.get_object(activation, 1, "closure")?;
|
||||
|
||||
let name = args.get(0).unwrap().coerce_to_string(activation)?;
|
||||
let method = args.get(1).unwrap();
|
||||
|
||||
if let Value::Object(method) = method {
|
||||
activation
|
||||
.context
|
||||
.external_interface
|
||||
.add_callback(name.to_string(), Callback::Avm2 { method: *method });
|
||||
}
|
||||
activation
|
||||
.context
|
||||
.external_interface
|
||||
.add_callback(name.to_string(), Callback::Avm2 { method });
|
||||
Ok(Value::Undefined)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue