Skip to main content

GameClient

Struct GameClient 

Source
pub struct GameClient<S: PlayConnection> {
    pub state: GameState,
    /* private fields */
}

Fields§

§state: GameState

Implementations§

Source§

impl<S: PlayConnection> GameClient<S>

Source

pub fn new(session: S) -> Self

Source

pub fn entity_id(&self) -> EntityId

Source

pub async fn wait_until_ready(&mut self) -> Result<()>

Source

pub fn drain_events(&mut self)

Drain all pending server events (non-blocking).

Source

pub async fn next_event(&mut self) -> Option<SessionEvent>

Wait for the next server event.

Source

pub async fn handle_event(&mut self, event: SessionEvent) -> Result<()>

Source

pub fn is_connected(&self) -> bool

Source

pub fn close_overlays(&mut self)

Source

pub fn back_on_esc(&mut self) -> bool

Esc / back — pop one UI layer instead of closing every overlay at once.

Source

pub fn toggle_stats(&mut self)

Source

pub fn toggle_equip_menu(&mut self)

Source

pub fn cycle_character_sheet_tab(&mut self)

Source

pub fn set_ledger_period_digit(&mut self, c: char)

Source

pub fn cycle_ledger_period(&mut self)

Source

pub fn open_inventory_menu(&mut self)

Source

pub fn close_inventory_menu(&mut self)

Source

pub fn open_rename_prompt(&mut self) -> Result<()>

Source

pub fn cancel_rename_prompt(&mut self)

Source

pub async fn confirm_rename_prompt(&mut self) -> Result<()>

Source

pub fn open_worker_rename(&mut self) -> Result<()>

Source

pub fn cancel_worker_rename(&mut self)

Source

pub async fn confirm_worker_rename(&mut self) -> Result<()>

Source

pub fn toggle_inventory_menu(&mut self)

Source

pub fn inventory_menu_move(&mut self, delta: i32)

↑/↓ in the inventory browser, or within the “move to…” / grant picker when open.

Source

pub fn inventory_menu_page(&mut self, pages: i32)

PageUp / PageDown (±1 page) for inventory / move / grant lists.

Source

pub fn cycle_inventory_tab(&mut self, forward: bool)

Source

pub fn focus_inventory_filter(&mut self)

Source

pub fn set_inventory_filter(&mut self, filter: String)

Source

pub fn append_inventory_filter_char(&mut self, ch: char)

Source

pub fn inventory_filter_backspace(&mut self)

Source

pub fn clear_or_blur_inventory_filter(&mut self) -> bool

Esc while filter focused: clear filter then blur. Returns true if handled.

Source

pub fn craft_menu_page(&mut self, pages: i32)

Source

pub fn shop_menu_page(&mut self, pages: i32)

Source

pub fn workers_menu_page(&mut self, pages: i32)

Source

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

Source

pub async fn use_selected_consumable(&mut self) -> Result<()>

e: eat/drink a consumable, or open grant-target picker for grant oils/scrolls.

Source

pub fn open_grant_target_picker(&mut self) -> Result<()>

Open picker: apply selected grant item onto inventory / worn gear.

Source

pub fn close_grant_picker(&mut self)

Source

pub async fn confirm_grant_picker(&mut self) -> Result<()>

Source

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.

Source

pub fn open_chest_pickup_picker(&mut self) -> Result<()>

Enter/m on a placed chest shell: pick destinations to take it into inventory.

Source

pub fn close_move_picker(&mut self)

Source

pub fn move_picker_adjust_quantity(&mut self, delta: i32)

Source

pub fn move_picker_set_quantity_max(&mut self)

Source

pub fn destroy_picker_adjust_quantity(&mut self, delta: i32)

Source

pub fn destroy_picker_set_quantity_max(&mut self)

Source

pub async fn drop_selected(&mut self) -> Result<()>

d: drop the selected item on the ground immediately (no picker).

Source

pub async fn drop_item( &mut self, item_instance_id: Uuid, from: InventoryLocation, ) -> Result<()>

Source

pub fn open_destroy_picker(&mut self) -> Result<()>

x: open permanent-delete picker for the selected item (quantity + confirm).

Source

pub fn close_destroy_picker(&mut self)

Source

pub fn cancel_destroy_confirm(&mut self)

Source

pub fn request_destroy_confirm(&mut self) -> Result<()>

Source

pub async fn confirm_destroy_item(&mut self) -> Result<()>

Source

pub async fn destroy_item( &mut self, item_instance_id: Uuid, from: InventoryLocation, quantity: Option<u32>, ) -> Result<()>

Source

pub async fn toggle_chest_lock_for_selection(&mut self) -> Result<()>

l: lock/unlock a placed chest — selected chest in inventory UI, else nearest.

Source

pub async fn toggle_placed_chest_lock( &mut self, container_id: &str, ) -> Result<()>

Source

pub async fn toggle_nearby_chest_lock(&mut self) -> Result<()>

l outside inventory: lock/unlock the nearest placed chest (within CONTAINER_RANGE_M).

Source

pub async fn unequip_mainhand(&mut self) -> Result<()>

Source

pub async fn equip_offhand(&mut self, template_id: Option<String>) -> Result<()>

Source

pub async fn unequip_offhand(&mut self) -> Result<()>

Source

pub async fn unequip_all_worn(&mut self) -> Result<()>

Source

pub async fn pickup_nearest_container(&mut self) -> Result<()>

Source

pub async fn equip_worn( &mut self, slot: BodySlot, instance_id: Option<Uuid>, ) -> Result<()>

Source

pub async fn place_container(&mut self, item_instance_id: Uuid) -> Result<()>

Source

pub async fn pickup_container(&mut self, container_id: String) -> Result<()>

Source

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

Source

pub async fn set_container_locked( &mut self, location: InventoryLocation, locked: bool, ) -> Result<()>

Source

pub async fn use_item(&mut self, template_id: &str) -> Result<()>

Source

pub async fn use_grant( &mut self, grant_instance_id: Uuid, target_instance_id: Uuid, ) -> Result<()>

Bind a grant consumable onto a specific item instance (unique gear status).

Source

pub fn open_craft_menu(&mut self)

Source

pub fn close_craft_menu(&mut self)

Source

pub fn toggle_keychain_menu(&mut self)

Source

pub fn close_keychain_menu(&mut self)

Source

pub fn keychain_menu_move(&mut self, delta: i32)

Source

pub fn keychain_menu_page(&mut self, pages: i32)

Source

pub async fn activate_keychain_selection(&mut self) -> Result<()>

Source

pub async fn close_shop_menu(&mut self) -> Result<()>

Source

pub async fn bank_deposit(&mut self, amount_copper: u64) -> Result<()>

Source

pub async fn bank_withdraw(&mut self, amount_copper: u64) -> Result<()>

Source

pub async fn bank_transfer( &mut self, to_character_id: Option<Uuid>, to_name: String, amount_copper: u64, ) -> Result<()>

Source

pub fn bank_menu_move(&mut self, delta: i32)

Source

pub fn storage_menu_move(&mut self, delta: i32)

Source

pub fn storage_pick_move(&mut self, delta: i32)

Source

pub fn storage_ui_back(&mut self)

Source

pub fn storage_amount_append_char(&mut self, c: char)

Source

pub fn storage_amount_backspace(&mut self)

Source

pub fn storage_ui_typing(&self) -> bool

Source

pub async fn confirm_storage_menu(&mut self) -> Result<()>

Source

pub async fn confirm_bank_menu(&mut self) -> Result<()>

Source

pub fn bank_transfer_back(&mut self)

Source

pub fn bank_transfer_append_char(&mut self, c: char)

Source

pub fn bank_transfer_backspace(&mut self)

Source

pub async fn close_bank_panel(&mut self) -> Result<()>

Source

pub async fn storage_store( &mut self, item_instance_id: Uuid, quantity: Option<u32>, ) -> Result<()>

Source

pub async fn storage_take( &mut self, item_instance_id: Uuid, quantity: Option<u32>, ) -> Result<()>

Source

pub async fn storage_ship( &mut self, dest_building_id: String, item_instance_id: Uuid, quantity: Option<u32>, ) -> Result<()>

Source

pub async fn close_storage_panel(&mut self) -> Result<()>

Source

pub async fn back_from_shop_menu(&mut self) -> Result<()>

Close shop and return to the Talk/Trade verb menu when inside an NPC session.

Source

pub fn shop_tab_toggle(&mut self)

Source

pub fn shop_menu_move(&mut self, delta: i32)

Source

pub fn shop_quantity_adjust(&mut self, delta: i32)

Source

pub fn shop_quantity_set_max(&mut self)

Source

pub fn toggle_quest_menu(&mut self)

Source

pub fn toggle_workers_menu(&mut self)

Source

pub fn workers_menu_move(&mut self, delta: i32)

Source

pub fn toggle_workers_menu_compact(&mut self)

Source

pub async fn workers_dismiss_selected(&mut self) -> Result<()>

Source

pub async fn workers_toggle_mode_selected(&mut self) -> Result<()>

Source

pub async fn workers_confirm_action(&mut self) -> Result<()>

Source

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.

Source

pub fn nearby_worker_give_targets(&self) -> Vec<WorkerGiveTargetOption>

Hired workers within give/take range, nearest first.

Source

pub fn close_worker_give_target_picker(&mut self)

Source

pub fn worker_give_target_picker_move(&mut self, delta: i32)

Source

pub async fn confirm_worker_give_target_picker(&mut self) -> Result<()>

Source

pub async fn give_selected_inventory_to_worker(&mut self) -> Result<()>

Give the selected inventory stack to a hired worker (opens nearby-worker picker).

Source

pub fn open_worker_give_picker(&mut self) -> Result<()>

Open the workers-menu give picker for the selected worker (must be in range).

Source

pub fn close_worker_give_picker(&mut self)

Source

pub fn worker_give_picker_move(&mut self, delta: i32)

Source

pub async fn confirm_worker_give_picker(&mut self) -> Result<()>

Confirm the selected row in the workers-menu give picker.

Source

pub fn open_worker_teach_picker(&mut self) -> Result<()>

Open the workers-menu teach picker for the selected worker (must be in range).

Source

pub fn close_worker_teach_picker(&mut self)

Source

pub fn worker_teach_picker_move(&mut self, delta: i32)

Source

pub async fn confirm_worker_teach_picker(&mut self) -> Result<()>

Source

pub fn open_worker_take_picker(&mut self) -> Result<()>

Open the workers-menu take picker for the selected worker (must be in range).

Source

pub fn close_worker_take_picker(&mut self)

Source

pub fn worker_take_picker_move(&mut self, delta: i32)

Source

pub async fn confirm_worker_take_picker(&mut self) -> Result<()>

Source

pub async fn hire_worker_laborer(&mut self) -> Result<()>

Source

pub fn open_worker_route_editor_for_selected(&mut self) -> Result<()>

Source

pub fn close_worker_route_editor(&mut self)

Source

pub fn worker_route_editor_toggle_panel(&mut self)

Source

pub fn worker_route_editor_add_waypoint(&mut self, x: f32, y: f32, z: f32)

Source

pub fn re_sheet_row_count(&self) -> usize

Row count of the current sheet (for cursor wrapping).

Source

pub fn re_sheet_index(&self) -> usize

Current sheet cursor index (0 for sheets without one).

Source

pub fn re_sheet_move(&mut self, delta: i32)

Move the current sheet’s cursor, wrapping within its rows.

Source

pub fn re_sheet_adjust(&mut self, delta: i32)

[/] on a sheet: adjust quantity (withdraw lines, wait ticks).

Source

pub fn re_sheet_back(&mut self)

Source

pub fn re_at_root_sheet(&self) -> bool

True when the editor is at its root sheet (Esc should close it).

Source

pub fn re_open_add_menu(&mut self)

Source

pub fn re_open_bed_picker(&mut self)

Source

pub fn re_edit_selected_stop(&mut self)

Enter on the stop list: open the selected stop’s sheet, prefilled.

Source

pub fn worker_route_editor_ui_click(&mut self, click: RouteEditorClick)

Source

pub fn re_sheet_row_activate(&mut self, row: usize)

Activate (Enter / click) a row of the current sheet.

Source

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

Source

pub fn worker_route_editor_select(&mut self, delta: i32)

Source

pub fn worker_route_editor_move_selected(&mut self, delta: i32)

Source

pub fn worker_route_editor_delete_selected(&mut self)

Source

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.

Source

pub async fn worker_route_editor_save(&mut self) -> Result<()>

Source

pub fn quest_menu_move(&mut self, delta: i32)

Source

pub fn quest_menu_page(&mut self, pages: i32)

Source

pub async fn quest_offer_accept(&mut self) -> Result<()>

Source

pub fn quest_offer_decline(&mut self)

Source

pub async fn quest_confirm_action(&mut self) -> Result<()>

Source

pub fn quest_request_withdraw(&mut self)

Source

pub async fn shop_confirm(&mut self) -> Result<()>

Source

pub fn craft_menu_move(&mut self, delta: i32)

Source

pub fn craft_batch_adjust_quantity(&mut self, delta: i32)

Source

pub fn craft_batch_set_max(&mut self)

Source

pub async fn craft_menu_selection(&mut self) -> Result<()>

Source

pub async fn move_by( &mut self, forward: f32, strafe: f32, vertical: f32, sprint: bool, ) -> Result<()>

Source

pub async fn harvest_nearest(&mut self) -> Result<()>

Source

pub async fn craft_next_available(&mut self) -> Result<()>

Source

pub async fn craft( &mut self, blueprint_id: &str, count: Option<u32>, ) -> Result<()>

Source

pub async fn interact_nearest(&mut self) -> Result<()>

Source

pub async fn use_nearest(&mut self) -> Result<()>

Context-sensitive world use: interact → pickup loot/chest → harvest/butcher.

Source

pub async fn cast_hotbar_ability(&mut self, slot: u8) -> Result<()>

Activate the ability or consumable bound to hotbar slot 19. Heals prefer T2/self; other abilities prefer T1. Consumables need no target.

Source

pub async fn set_hotbar_slot( &mut self, slot: u8, ability_id: Option<&str>, ) -> Result<()>

Bind or clear a hotbar slot (19) via Intent::SetHotbarSlot. ability_id may be a learned ability or item:<template_id> for consumables.

Source

pub fn npc_verb_options(&self) -> Vec<&'static str>

Source

pub async fn confirm_npc_verb(&mut self) -> Result<()>

Source

pub async fn npc_talk_send(&mut self) -> Result<()>

Source

pub async fn npc_talk_close(&mut self) -> Result<()>

Source

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.

Source

pub async fn test_damage(&mut self, amount: f32) -> Result<()>

Source

pub async fn cycle_combat_target(&mut self, reverse: bool) -> Result<()>

Source

pub async fn cycle_combat_target_slot( &mut self, slot_index: u8, reverse: bool, ) -> Result<()>

Source

pub async fn set_combat_target_slot( &mut self, slot_index: u8, target_id: EntityId, label: &str, ) -> Result<()>

Source

pub async fn set_combat_target( &mut self, target_id: EntityId, label: &str, ) -> Result<()>

Source

pub async fn clear_combat_target_slot(&mut self, slot_index: u8) -> Result<()>

Source

pub async fn clear_combat_target(&mut self) -> Result<()>

Source

pub async fn advance_rotation(&mut self, slot_index: u8) -> Result<()>

Source

pub async fn assign_slot_preset( &mut self, slot_index: u8, preset_id: &str, ) -> Result<()>

Source

pub async fn cast_ability( &mut self, ability_id: &str, target_id: Option<EntityId>, ) -> Result<()>

Source

pub async fn upsert_rotation_preset( &mut self, preset: RotationPreset, ) -> Result<()>

Source

pub async fn delete_rotation_preset(&mut self, preset_id: &str) -> Result<()>

Source

pub async fn toggle_auto_attack_slot(&mut self, slot_index: u8) -> Result<()>

Source

pub async fn pickup_nearest(&mut self) -> Result<()>

Source

pub async fn toggle_auto_attack(&mut self) -> Result<()>

Source

pub async fn dodge(&mut self) -> Result<()>

Source

pub async fn lunge(&mut self) -> Result<()>

Source

pub async fn directional_jump( &mut self, forward: f32, strafe: f32, ) -> Result<()>

Source

pub fn last_move_axes(&self) -> (f32, f32)

Remembered WASD axes for lunge when not currently moving.

Source

pub async fn set_block(&mut self, enabled: bool) -> Result<()>

Source

pub async fn equip_mainhand( &mut self, template_id: Option<String>, ) -> Result<()>

Source

pub async fn activate_equip_selection(&mut self) -> Result<()>

Equip paperdoll: activate selected slot (unequip filled, or equip first matching candidate).

Source

pub async fn say(&mut self, channel: ChatChannel, text: &str) -> Result<()>

Source

pub async fn stop(&mut self) -> Result<()>

Source

pub fn disconnect(&self)

Auto Trait Implementations§

§

impl<S> Freeze for GameClient<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for GameClient<S>
where S: RefUnwindSafe,

§

impl<S> Send for GameClient<S>

§

impl<S> Sync for GameClient<S>
where S: Sync,

§

impl<S> Unpin for GameClient<S>
where S: Unpin,

§

impl<S> UnsafeUnpin for GameClient<S>
where S: UnsafeUnpin,

§

impl<S> UnwindSafe for GameClient<S>
where S: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more