PkmnLib_rs/src/script_implementations/wasm/export_registry/dynamic_data/battle_random.rs

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)
}
}