mirror of
https://github.com/mat-1/azalea.git
synced 2024-09-19 14:42:32 +00:00
fix QueryDoesNotMatch and improve error
This commit is contained in:
parent
177864be60
commit
30702d94f6
3 changed files with 10 additions and 8 deletions
|
@ -270,6 +270,7 @@ impl Client {
|
|||
received_registries: ReceivedRegistries::default(),
|
||||
local_player_events: LocalPlayerEvents(tx),
|
||||
game_profile: GameProfileComponent(game_profile),
|
||||
client_information: crate::ClientInformation::default(),
|
||||
account: account.to_owned(),
|
||||
},
|
||||
InConfigurationState,
|
||||
|
@ -593,6 +594,7 @@ pub struct LocalPlayerBundle {
|
|||
pub received_registries: ReceivedRegistries,
|
||||
pub local_player_events: LocalPlayerEvents,
|
||||
pub game_profile: GameProfileComponent,
|
||||
pub client_information: ClientInformation,
|
||||
pub account: Account,
|
||||
}
|
||||
|
||||
|
@ -604,7 +606,6 @@ pub struct JoinedClientBundle {
|
|||
pub instance_holder: InstanceHolder,
|
||||
pub physics_state: PhysicsState,
|
||||
pub inventory: InventoryComponent,
|
||||
pub client_information: ClientInformation,
|
||||
pub tab_list: TabList,
|
||||
pub current_sequence_number: CurrentSequenceNumber,
|
||||
pub last_sent_direction: LastSentLookDirection,
|
||||
|
|
|
@ -23,9 +23,10 @@ impl Client {
|
|||
/// # }
|
||||
/// ```
|
||||
pub fn query<'w, Q: WorldQuery>(&self, ecs: &'w mut World) -> <Q as WorldQuery>::Item<'w> {
|
||||
ecs.query::<Q>()
|
||||
.get_mut(ecs, self.entity)
|
||||
.expect("Our client is missing a required component.")
|
||||
ecs.query::<Q>().get_mut(ecs, self.entity).expect(&format!(
|
||||
"Our client is missing a required component {:?}",
|
||||
std::any::type_name::<Q>()
|
||||
))
|
||||
}
|
||||
|
||||
/// Return a lightweight [`Entity`] for the entity that matches the given
|
||||
|
@ -66,9 +67,10 @@ impl Client {
|
|||
pub fn entity_component<Q: Component + Clone>(&mut self, entity: Entity) -> Q {
|
||||
let mut ecs = self.ecs.lock();
|
||||
let mut q = ecs.query::<&Q>();
|
||||
let components = q
|
||||
.get(&ecs, entity)
|
||||
.expect("Entity components must be present in Client::entity)components.");
|
||||
let components = q.get(&ecs, entity).expect(&format!(
|
||||
"Entity is missing a required component {:?}",
|
||||
std::any::type_name::<Q>()
|
||||
));
|
||||
components.clone()
|
||||
}
|
||||
|
||||
|
|
|
@ -134,7 +134,6 @@ pub fn process_packet_events(ecs: &mut World) {
|
|||
instance_holder,
|
||||
physics_state: crate::PhysicsState::default(),
|
||||
inventory: crate::inventory::InventoryComponent::default(),
|
||||
client_information: crate::ClientInformation::default(),
|
||||
tab_list: crate::local_player::TabList::default(),
|
||||
current_sequence_number: crate::interact::CurrentSequenceNumber::default(),
|
||||
last_sent_direction: crate::movement::LastSentLookDirection::default(),
|
||||
|
|
Loading…
Reference in a new issue