38 lines
1.3 KiB
Rust
Executable File
38 lines
1.3 KiB
Rust
Executable File
use crate::dynamic_data::BattleRandom;
|
|
use crate::script_implementations::wasm::export_registry::wasm_result::{get_value_arc, try_wasm, wasm_ok};
|
|
use crate::script_implementations::wasm::export_registry::{register, WasmResult};
|
|
use crate::script_implementations::wasm::extern_ref::ExternRef;
|
|
use wasmer::FunctionEnvMut;
|
|
|
|
use crate::script_implementations::wasm::script_resolver::WebAssemblyEnv;
|
|
|
|
register! {
|
|
fn battle_random_get(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
battle_random: ExternRef<BattleRandom>,
|
|
) -> WasmResult<i32> {
|
|
let v = get_value_arc!(battle_random, env);
|
|
let v = try_wasm!(v.get(), env);
|
|
wasm_ok(v)
|
|
}
|
|
fn battle_random_get_max(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
battle_random: ExternRef<BattleRandom>,
|
|
max: i32
|
|
) -> WasmResult<i32> {
|
|
let battle_random = get_value_arc!(battle_random, env);
|
|
let v = try_wasm!(battle_random.get_max(max), env);
|
|
wasm_ok(v)
|
|
}
|
|
fn battle_random_get_between(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
battle_random: ExternRef<BattleRandom>,
|
|
min: i32,
|
|
max: i32
|
|
) -> WasmResult<i32> {
|
|
let battle_random = get_value_arc!(battle_random, env);
|
|
let v = try_wasm!(battle_random.get_between(min, max), env);
|
|
wasm_ok(v)
|
|
}
|
|
}
|