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<()>
↑/↓ 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, drink/eat a loose consumable — or fall back to the “move to…” destination picker for anything else (including items already inside a worn bag or a nearby chest).
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.
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 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 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<()>
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<()>
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.