pub struct GameClient<S: PlayConnection> {
pub state: GameState,
/* private fields */
}Fields§
§state: GameStateImplementations§
Source§impl<S: PlayConnection> GameClient<S>
impl<S: PlayConnection> GameClient<S>
pub fn new(session: S) -> Self
pub fn entity_id(&self) -> EntityId
pub async fn wait_until_ready(&mut self) -> Result<()>
Sourcepub fn drain_events(&mut self)
pub fn drain_events(&mut self)
Drain all pending server events (non-blocking).
Sourcepub async fn next_event(&mut self) -> Option<SessionEvent>
pub async fn next_event(&mut self) -> Option<SessionEvent>
Wait for the next server event.
pub async fn handle_event(&mut self, event: SessionEvent) -> Result<()>
pub fn is_connected(&self) -> bool
pub fn close_overlays(&mut self)
Sourcepub fn back_on_esc(&mut self) -> bool
pub fn back_on_esc(&mut self) -> bool
Esc / back — pop one UI layer instead of closing every overlay at once.
pub fn toggle_stats(&mut self)
pub fn open_rename_prompt(&mut self) -> Result<()>
pub fn cancel_rename_prompt(&mut self)
pub async fn confirm_rename_prompt(&mut self) -> Result<()>
pub fn open_worker_rename(&mut self) -> Result<()>
pub fn cancel_worker_rename(&mut self)
pub async fn confirm_worker_rename(&mut self) -> Result<()>
↑/↓ in the inventory browser, or within the “move to…” picker when open.
Sourcepub async fn activate_inventory_selection(&mut self) -> Result<()>
pub async fn activate_inventory_selection(&mut self) -> Result<()>
Enter: unequip a worn bag, equip a weapon, wear/place a loose bag or
chest — or fall back to the “move to…” destination picker (including
loose consumables; pick “Use” in that list or press e to eat/drink).
Placed chest shells open a pick-up destination picker (l still locks).
Sourcepub async fn use_selected_consumable(&mut self) -> Result<()>
pub async fn use_selected_consumable(&mut self) -> Result<()>
e: eat/drink the selected loose consumable on your person.
Sourcepub fn open_move_picker(&mut self) -> Result<()>
pub fn open_move_picker(&mut self) -> Result<()>
m: always open the “move to…” picker for the selected item, even for
weapons/wearables that Enter would otherwise equip/wear directly.
Placed chests open the pick-up destination picker instead.
Sourcepub fn open_chest_pickup_picker(&mut self) -> Result<()>
pub fn open_chest_pickup_picker(&mut self) -> Result<()>
Enter/m on a placed chest shell: pick destinations to take it into inventory.
pub fn close_move_picker(&mut self)
pub fn move_picker_adjust_quantity(&mut self, delta: i32)
pub fn move_picker_set_quantity_max(&mut self)
pub fn destroy_picker_adjust_quantity(&mut self, delta: i32)
pub fn destroy_picker_set_quantity_max(&mut self)
Sourcepub async fn drop_selected(&mut self) -> Result<()>
pub async fn drop_selected(&mut self) -> Result<()>
d: drop the selected item on the ground immediately (no picker).
pub async fn drop_item( &mut self, item_instance_id: Uuid, from: InventoryLocation, ) -> Result<()>
Sourcepub fn open_destroy_picker(&mut self) -> Result<()>
pub fn open_destroy_picker(&mut self) -> Result<()>
x: open permanent-delete picker for the selected item (quantity + confirm).
pub fn close_destroy_picker(&mut self)
pub fn cancel_destroy_confirm(&mut self)
pub fn request_destroy_confirm(&mut self) -> Result<()>
pub async fn confirm_destroy_item(&mut self) -> Result<()>
pub async fn destroy_item( &mut self, item_instance_id: Uuid, from: InventoryLocation, quantity: Option<u32>, ) -> Result<()>
Sourcepub async fn toggle_chest_lock_for_selection(&mut self) -> Result<()>
pub async fn toggle_chest_lock_for_selection(&mut self) -> Result<()>
l: lock/unlock a placed chest — selected chest in inventory UI, else nearest.
pub async fn toggle_placed_chest_lock( &mut self, container_id: &str, ) -> Result<()>
Sourcepub async fn toggle_nearby_chest_lock(&mut self) -> Result<()>
pub async fn toggle_nearby_chest_lock(&mut self) -> Result<()>
l outside inventory: lock/unlock the nearest placed chest (within CONTAINER_RANGE_M).
pub async fn unequip_mainhand(&mut self) -> Result<()>
pub async fn unequip_all_worn(&mut self) -> Result<()>
pub async fn pickup_nearest_container(&mut self) -> Result<()>
pub async fn equip_worn( &mut self, slot: BodySlot, instance_id: Option<Uuid>, ) -> Result<()>
pub async fn place_container(&mut self, item_instance_id: Uuid) -> Result<()>
pub async fn pickup_container(&mut self, container_id: String) -> Result<()>
pub async fn move_item( &mut self, item_instance_id: Uuid, from: InventoryLocation, to: InventoryLocation, to_parent_instance_id: Option<Uuid>, quantity: Option<u32>, ) -> Result<()>
pub async fn set_container_locked( &mut self, location: InventoryLocation, locked: bool, ) -> Result<()>
pub async fn use_item(&mut self, template_id: &str) -> Result<()>
pub async fn activate_keychain_selection(&mut self) -> Result<()>
Close shop and return to the Talk/Trade verb menu when inside an NPC session.
pub fn shop_tab_toggle(&mut self)
pub fn shop_quantity_adjust(&mut self, delta: i32)
pub fn shop_quantity_set_max(&mut self)
pub async fn workers_dismiss_selected(&mut self) -> Result<()>
pub async fn workers_toggle_mode_selected(&mut self) -> Result<()>
pub async fn workers_confirm_action(&mut self) -> Result<()>
Sourcepub fn open_worker_give_target_picker(&mut self) -> Result<()>
pub fn open_worker_give_target_picker(&mut self) -> Result<()>
Open a nearby-worker picker for the selected inventory stack (inventory g).
Always shows a chooser so you can pick Bruce vs Cookie when several are close.
Sourcepub fn nearby_worker_give_targets(&self) -> Vec<WorkerGiveTargetOption>
pub fn nearby_worker_give_targets(&self) -> Vec<WorkerGiveTargetOption>
Hired workers within give/take range, nearest first.
pub fn close_worker_give_target_picker(&mut self)
pub fn worker_give_target_picker_move(&mut self, delta: i32)
pub async fn confirm_worker_give_target_picker(&mut self) -> Result<()>
Sourcepub async fn give_selected_inventory_to_worker(&mut self) -> Result<()>
pub async fn give_selected_inventory_to_worker(&mut self) -> Result<()>
Give the selected inventory stack to a hired worker (opens nearby-worker picker).
Sourcepub fn open_worker_give_picker(&mut self) -> Result<()>
pub fn open_worker_give_picker(&mut self) -> Result<()>
Open the workers-menu give picker for the selected worker (must be in range).
pub fn close_worker_give_picker(&mut self)
pub fn worker_give_picker_move(&mut self, delta: i32)
Sourcepub async fn confirm_worker_give_picker(&mut self) -> Result<()>
pub async fn confirm_worker_give_picker(&mut self) -> Result<()>
Confirm the selected row in the workers-menu give picker.
Sourcepub fn open_worker_teach_picker(&mut self) -> Result<()>
pub fn open_worker_teach_picker(&mut self) -> Result<()>
Open the workers-menu teach picker for the selected worker (must be in range).
pub fn close_worker_teach_picker(&mut self)
pub fn worker_teach_picker_move(&mut self, delta: i32)
pub async fn confirm_worker_teach_picker(&mut self) -> Result<()>
Sourcepub fn open_worker_take_picker(&mut self) -> Result<()>
pub fn open_worker_take_picker(&mut self) -> Result<()>
Open the workers-menu take picker for the selected worker (must be in range).
pub fn close_worker_take_picker(&mut self)
pub fn worker_take_picker_move(&mut self, delta: i32)
pub async fn confirm_worker_take_picker(&mut self) -> Result<()>
pub async fn hire_worker_laborer(&mut self) -> Result<()>
pub fn open_worker_route_editor_for_selected(&mut self) -> Result<()>
pub fn close_worker_route_editor(&mut self)
pub fn worker_route_editor_toggle_panel(&mut self)
pub fn worker_route_editor_add_waypoint(&mut self, x: f32, y: f32, z: f32)
Sourcepub fn re_sheet_row_count(&self) -> usize
pub fn re_sheet_row_count(&self) -> usize
Row count of the current sheet (for cursor wrapping).
Sourcepub fn re_sheet_index(&self) -> usize
pub fn re_sheet_index(&self) -> usize
Current sheet cursor index (0 for sheets without one).
Sourcepub fn re_sheet_move(&mut self, delta: i32)
pub fn re_sheet_move(&mut self, delta: i32)
Move the current sheet’s cursor, wrapping within its rows.
Sourcepub fn re_sheet_adjust(&mut self, delta: i32)
pub fn re_sheet_adjust(&mut self, delta: i32)
[/] on a sheet: adjust quantity (withdraw lines, wait ticks).
pub fn re_sheet_back(&mut self)
Sourcepub fn re_at_root_sheet(&self) -> bool
pub fn re_at_root_sheet(&self) -> bool
True when the editor is at its root sheet (Esc should close it).
pub fn re_open_bed_picker(&mut self)
Sourcepub fn re_edit_selected_stop(&mut self)
pub fn re_edit_selected_stop(&mut self)
Enter on the stop list: open the selected stop’s sheet, prefilled.
pub fn worker_route_editor_ui_click(&mut self, click: RouteEditorClick)
Sourcepub fn re_sheet_row_activate(&mut self, row: usize)
pub fn re_sheet_row_activate(&mut self, row: usize)
Activate (Enter / click) a row of the current sheet.
Sourcepub fn worker_route_editor_map_click(&mut self, x: f32, y: f32)
pub fn worker_route_editor_map_click(&mut self, x: f32, y: f32)
Map click while the route editor is open. When a picker sheet is open the click feeds that sheet (chest clicks choose the withdraw/deposit container, NPC clicks the merchant, node clicks the harvest target); otherwise the click quick-adds the nearest target (context-aware).
pub fn worker_route_editor_select(&mut self, delta: i32)
pub fn worker_route_editor_move_selected(&mut self, delta: i32)
pub fn worker_route_editor_delete_selected(&mut self)
Sourcepub fn worker_route_editor_clear_stops(&mut self)
pub fn worker_route_editor_clear_stops(&mut self)
Clear all stops. Saving afterwards parks the worker in idle mode instead of leaving it in a broken job loop.
pub async fn worker_route_editor_save(&mut self) -> Result<()>
pub async fn quest_offer_accept(&mut self) -> Result<()>
pub fn quest_offer_decline(&mut self)
pub async fn quest_confirm_action(&mut self) -> Result<()>
pub fn quest_request_withdraw(&mut self)
pub async fn shop_confirm(&mut self) -> Result<()>
pub fn craft_batch_adjust_quantity(&mut self, delta: i32)
pub fn craft_batch_set_max(&mut self)
pub async fn move_by( &mut self, forward: f32, strafe: f32, vertical: f32, sprint: bool, ) -> Result<()>
pub async fn harvest_nearest(&mut self) -> Result<()>
pub async fn craft_next_available(&mut self) -> Result<()>
pub async fn craft( &mut self, blueprint_id: &str, count: Option<u32>, ) -> Result<()>
pub async fn interact_nearest(&mut self) -> Result<()>
Sourcepub async fn use_nearest(&mut self) -> Result<()>
pub async fn use_nearest(&mut self) -> Result<()>
Context-sensitive world use: interact → pickup loot/chest → harvest/butcher.
Sourcepub async fn cast_hotbar_ability(&mut self, ability_id: &str) -> Result<()>
pub async fn cast_hotbar_ability(&mut self, ability_id: &str) -> Result<()>
Cast a hotbar-bound ability (1–9). Heals prefer T2/self; others prefer T1.
pub fn npc_verb_options(&self) -> Vec<&'static str>
pub async fn confirm_npc_verb(&mut self) -> Result<()>
pub async fn npc_talk_send(&mut self) -> Result<()>
pub async fn npc_talk_close(&mut self) -> Result<()>
Sourcepub async fn npc_interaction_back(&mut self) -> Result<()>
pub async fn npc_interaction_back(&mut self) -> Result<()>
Esc/back inside Talk, Trade, quest-offer, or the verb menu — pop one layer, not the whole session.
pub async fn test_damage(&mut self, amount: f32) -> Result<()>
pub async fn cycle_combat_target(&mut self, reverse: bool) -> Result<()>
pub async fn cycle_combat_target_slot( &mut self, slot_index: u8, reverse: bool, ) -> Result<()>
pub async fn set_combat_target_slot( &mut self, slot_index: u8, target_id: EntityId, label: &str, ) -> Result<()>
pub async fn set_combat_target( &mut self, target_id: EntityId, label: &str, ) -> Result<()>
pub async fn clear_combat_target_slot(&mut self, slot_index: u8) -> Result<()>
pub async fn clear_combat_target(&mut self) -> Result<()>
pub async fn advance_rotation(&mut self, slot_index: u8) -> Result<()>
pub async fn assign_slot_preset( &mut self, slot_index: u8, preset_id: &str, ) -> Result<()>
pub async fn cast_ability( &mut self, ability_id: &str, target_id: Option<EntityId>, ) -> Result<()>
pub async fn upsert_rotation_preset( &mut self, preset: RotationPreset, ) -> Result<()>
pub async fn delete_rotation_preset(&mut self, preset_id: &str) -> Result<()>
pub async fn toggle_auto_attack_slot(&mut self, slot_index: u8) -> Result<()>
pub async fn pickup_nearest(&mut self) -> Result<()>
pub async fn toggle_auto_attack(&mut self) -> Result<()>
pub async fn dodge(&mut self) -> Result<()>
pub async fn lunge(&mut self) -> Result<()>
pub async fn directional_jump( &mut self, forward: f32, strafe: f32, ) -> Result<()>
Sourcepub fn last_move_axes(&self) -> (f32, f32)
pub fn last_move_axes(&self) -> (f32, f32)
Remembered WASD axes for lunge when not currently moving.