Apply same member order as in trait

This commit is contained in:
Dr. Dystopia 2021-07-20 09:43:52 +02:00
parent b8b27cb5f7
commit 9abd066e53
14 changed files with 239 additions and 239 deletions

View File

@ -61,6 +61,16 @@ impl WorldSyncExt for specs::World {
self.create_entity().marked::<super::Uid>()
}
fn delete_entity_and_clear_from_uid_allocator(&mut self, uid: u64) {
// Clear from uid allocator
let maybe_entity = self.write_resource::<UidAllocator>().remove_entity(uid);
if let Some(entity) = maybe_entity {
if let Err(e) = self.delete_entity(entity) {
error!(?e, "Failed to delete entity");
}
}
}
/// Get the UID of an entity
fn uid_from_entity(&self, entity: specs::Entity) -> Option<Uid> {
self.read_storage::<Uid>().get(entity).copied()
@ -86,16 +96,6 @@ impl WorldSyncExt for specs::World {
entity
}
fn delete_entity_and_clear_from_uid_allocator(&mut self, uid: u64) {
// Clear from uid allocator
let maybe_entity = self.write_resource::<UidAllocator>().remove_entity(uid);
if let Some(entity) = maybe_entity {
if let Err(e) = self.delete_entity(entity) {
error!(?e, "Failed to delete entity");
}
}
}
fn apply_entity_sync_package(&mut self, package: EntitySyncPackage) {
// Take ownership of the fields
let EntitySyncPackage {

View File

@ -23,6 +23,12 @@ impl CharacterBehavior for Data {
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_wield(data, &mut update);
@ -41,10 +47,4 @@ impl CharacterBehavior for Data {
update.character = CharacterState::Idle;
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
}

View File

@ -38,6 +38,18 @@ impl CharacterBehavior for Data {
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn unwield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
update.character = CharacterState::Idle;
update
}
fn sit(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sit(data, &mut update);
@ -55,16 +67,4 @@ impl CharacterBehavior for Data {
attempt_sneak(data, &mut update);
update
}
fn unwield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
update.character = CharacterState::Idle;
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
}

View File

@ -20,21 +20,33 @@ impl CharacterBehavior for Data {
update
}
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_swap_equipped_weapons(data, &mut update);
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_wield(data, &mut update);
update
}
fn sit(&self, data: &JoinData) -> StateUpdate {
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sit(data, &mut update);
attempt_glide_wield(data, &mut update);
update
}
fn talk(&self, data: &JoinData) -> StateUpdate {
fn sit(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_talk(data, &mut update);
attempt_sit(data, &mut update);
update
}
@ -50,21 +62,9 @@ impl CharacterBehavior for Data {
update
}
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
fn talk(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_glide_wield(data, &mut update);
update
}
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_swap_equipped_weapons(data, &mut update);
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
attempt_talk(data, &mut update);
update
}
}

View File

@ -23,6 +23,12 @@ impl CharacterBehavior for Data {
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_wield(data, &mut update);
@ -41,10 +47,4 @@ impl CharacterBehavior for Data {
update.character = CharacterState::Idle;
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
}

View File

@ -25,12 +25,30 @@ impl CharacterBehavior for Data {
update
}
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_swap_equipped_weapons(data, &mut update);
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_wield(data, &mut update);
update
}
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_glide_wield(data, &mut update);
update
}
fn sit(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sit(data, &mut update);
@ -43,27 +61,9 @@ impl CharacterBehavior for Data {
update
}
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_glide_wield(data, &mut update);
update
}
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_swap_equipped_weapons(data, &mut update);
update
}
fn stand(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
update.character = CharacterState::Idle;
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
}

View File

@ -20,6 +20,12 @@ impl CharacterBehavior for Data {
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_wield(data, &mut update);
@ -46,10 +52,4 @@ impl CharacterBehavior for Data {
update.character = CharacterState::Idle;
update
}
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
let mut update = StateUpdate::from(data);
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
}

View File

@ -21,36 +21,6 @@ impl CharacterBehavior for Data {
update
}
fn sit(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sit(data, &mut update);
update
}
fn dance(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_dance(data, &mut update);
update
}
fn sneak(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sneak(data, &mut update);
update
}
fn unwield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
update.character = CharacterState::Idle;
update
}
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_glide_wield(data, &mut update);
update
}
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_swap_equipped_weapons(data, &mut update);
@ -73,4 +43,34 @@ impl CharacterBehavior for Data {
handle_manipulate_loadout(data, &mut update, inv_action);
update
}
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_glide_wield(data, &mut update);
update
}
fn unwield(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
update.character = CharacterState::Idle;
update
}
fn sit(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sit(data, &mut update);
update
}
fn dance(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_dance(data, &mut update);
update
}
fn sneak(&self, data: &JoinData) -> StateUpdate {
let mut update = StateUpdate::from(data);
attempt_sneak(data, &mut update);
update
}
}

View File

@ -10,11 +10,11 @@ pub struct SkeletonAttr;
impl<'a, Factor> Lerp<Factor> for &'a FixtureSkeleton {
type Output = FixtureSkeleton;
fn lerp_unclamped(_from: Self, _to: Self, _factor: Factor) -> Self::Output { FixtureSkeleton }
fn lerp_unclamped_precise(_from: Self, _to: Self, _factor: Factor) -> Self::Output {
FixtureSkeleton
}
fn lerp_unclamped(_from: Self, _to: Self, _factor: Factor) -> Self::Output { FixtureSkeleton }
}
impl Skeleton for FixtureSkeleton {

View File

@ -114,25 +114,6 @@ where
layout::Node::with_children(limits.max(), vec![content])
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout.children().next().unwrap(),
cursor_position,
renderer,
clipboard,
messages,
)
}
fn draw(
&self,
renderer: &mut R,
@ -163,6 +144,25 @@ where
self.content.hash_layout(state);
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout.children().next().unwrap(),
cursor_position,
renderer,
clipboard,
messages,
)
}
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
self.content.overlay(layout.children().next().unwrap())
}

View File

@ -250,25 +250,6 @@ where
layout::Node::with_children(size, vec![content])
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout.children().next().unwrap(),
cursor_position,
renderer,
clipboard,
messages,
)
}
fn draw(
&self,
renderer: &mut R,
@ -303,6 +284,25 @@ where
self.content.hash_layout(state);
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout.children().next().unwrap(),
cursor_position,
renderer,
clipboard,
messages,
)
}
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
self.content.overlay(layout.children().next().unwrap())
}

View File

@ -43,6 +43,25 @@ where
layout::Node::new(limits.resolve(Size::ZERO))
}
fn draw(
&self,
renderer: &mut R,
_defaults: &R::Defaults,
layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
) -> R::Output {
renderer.draw(layout.bounds())
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.width.hash(state);
self.height.hash(state);
}
fn on_event(
&mut self,
event: Event,
@ -68,25 +87,6 @@ where
iced::event::Status::Ignored
}
fn draw(
&self,
renderer: &mut R,
_defaults: &R::Defaults,
layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
) -> R::Output {
renderer.draw(layout.bounds())
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.width.hash(state);
self.height.hash(state);
}
}
pub trait Renderer: iced::Renderer {

View File

@ -130,6 +130,41 @@ where
layout::Node::with_children(size, vec![over, under])
}
fn draw(
&self,
renderer: &mut R,
defaults: &R::Defaults,
layout: Layout<'_>,
cursor_position: Point,
viewport: &Rectangle,
) -> R::Output {
let mut children = layout.children();
renderer.draw(
defaults,
layout.bounds(),
cursor_position,
viewport,
&self.over,
children.next().unwrap(),
&self.under,
children.next().unwrap(),
)
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.padding.hash(state);
self.width.hash(state);
self.height.hash(state);
self.max_width.hash(state);
self.max_height.hash(state);
self.over.hash_layout(state);
self.under.hash_layout(state);
}
fn on_event(
&mut self,
event: Event,
@ -172,41 +207,6 @@ where
}
}
fn draw(
&self,
renderer: &mut R,
defaults: &R::Defaults,
layout: Layout<'_>,
cursor_position: Point,
viewport: &Rectangle,
) -> R::Output {
let mut children = layout.children();
renderer.draw(
defaults,
layout.bounds(),
cursor_position,
viewport,
&self.over,
children.next().unwrap(),
&self.under,
children.next().unwrap(),
)
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.padding.hash(state);
self.width.hash(state);
self.height.hash(state);
self.max_width.hash(state);
self.max_height.hash(state);
self.over.hash_layout(state);
self.under.hash_layout(state);
}
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
let mut children = layout.children();
let (over, under) = (&mut self.over, &mut self.under);

View File

@ -184,25 +184,6 @@ where
self.content.layout(renderer, limits)
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout,
cursor_position,
renderer,
clipboard,
messages,
)
}
fn draw(
&self,
renderer: &mut R,
@ -228,6 +209,31 @@ where
.draw(renderer, defaults, layout, cursor_position, viewport)
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.content.hash_layout(state);
}
fn on_event(
&mut self,
event: Event,
layout: Layout<'_>,
cursor_position: Point,
renderer: &R,
clipboard: &mut dyn Clipboard,
messages: &mut Vec<M>,
) -> iced::event::Status {
self.content.on_event(
event,
layout,
cursor_position,
renderer,
clipboard,
messages,
)
}
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
let bounds = layout.bounds();
let aabr = aabr_from_bounds(bounds);
@ -244,12 +250,6 @@ where
)
})
}
fn hash_layout(&self, state: &mut Hasher) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
self.content.hash_layout(state);
}
}
impl<'a, M, R> From<Tooltip<'a, M, R>> for Element<'a, M, R>
@ -332,20 +332,6 @@ where
node
}
fn hash_layout(&self, state: &mut Hasher, position: Point) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
(position.x as u32).hash(state);
(position.y as u32).hash(state);
(self.cursor_position.x as u32).hash(state);
(self.avoid.x as u32).hash(state);
(self.avoid.y as u32).hash(state);
(self.avoid.height as u32).hash(state);
(self.avoid.width as u32).hash(state);
self.content.hash_layout(state);
}
fn draw(
&self,
renderer: &mut R,
@ -362,6 +348,20 @@ where
layout,
)
}
fn hash_layout(&self, state: &mut Hasher, position: Point) {
struct Marker;
std::any::TypeId::of::<Marker>().hash(state);
(position.x as u32).hash(state);
(position.y as u32).hash(state);
(self.cursor_position.x as u32).hash(state);
(self.avoid.x as u32).hash(state);
(self.avoid.y as u32).hash(state);
(self.avoid.height as u32).hash(state);
(self.avoid.width as u32).hash(state);
self.content.hash_layout(state);
}
}
pub trait Renderer: iced::Renderer {