feat(slots UI): better slot UI
This commit is contained in:
@@ -3,7 +3,7 @@ mod utils;
|
||||
mod types;
|
||||
|
||||
use ic10emu::{
|
||||
device::{Device, DeviceTemplate},
|
||||
device::{Device, DeviceTemplate, SlotOccupantTemplate},
|
||||
grammar::{LogicType, SlotLogicType},
|
||||
vm::{FrozenVM, VMError, VM},
|
||||
};
|
||||
@@ -489,6 +489,12 @@ impl VMRef {
|
||||
Ok(self.vm.borrow_mut().remove_device(id)?)
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_name = "setSlotOccupant", skip_typescript)]
|
||||
pub fn set_slot_occupant(&self, id: u32, index: usize, template: JsValue) -> Result<(), JsError> {
|
||||
let template: SlotOccupantTemplate = serde_wasm_bindgen::from_value(template)?;
|
||||
Ok(self.vm.borrow_mut().set_slot_occupant(id, index, template)?)
|
||||
}
|
||||
|
||||
#[wasm_bindgen(js_name = "saveVMState", skip_typescript)]
|
||||
pub fn save_vm_state(&self) -> JsValue {
|
||||
let state = self.vm.borrow().save_vm_state();
|
||||
|
||||
@@ -177,6 +177,7 @@ export interface FrozenVM {
|
||||
|
||||
export interface VMRef {
|
||||
addDeviceFromTemplate(template: DeviceTemplate): number;
|
||||
setSlotOccupant(id: number, index: number, template: SlotOccupantTemplate);
|
||||
saveVMState(): FrozenVM;
|
||||
restoreVMState(state: FrozenVM): void;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user