41 lines
1.4 KiB
Rust
Executable File
41 lines
1.4 KiB
Rust
Executable File
use crate::dynamic_data::BattleRandom;
|
|
use crate::script_implementations::wasm::export_registry::wasm_result::{
|
|
get_value, get_value_call_getter, 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;
|
|
use anyhow_ext::Context;
|
|
|
|
register! {
|
|
fn battle_random_get(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
battle_random: ExternRef<BattleRandom>,
|
|
) -> WasmResult<i32> {
|
|
let v = get_value_call_getter!(battle_random.get(), env);
|
|
let v = try_wasm!(v, 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!(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!(battle_random, env);
|
|
let v = try_wasm!(battle_random.get_between(min, max), env);
|
|
wasm_ok(v)
|
|
}
|
|
}
|