@@ -42,7 +42,6 @@ impl Module for EntityStateSyncModule {
42
42
. kind :: < flecs:: pipeline:: OnStore > ( )
43
43
. run ( |mut table| {
44
44
while table. next ( ) {
45
- let count = table. count ( ) ;
46
45
let world = table. world ( ) ;
47
46
48
47
unsafe {
@@ -57,30 +56,17 @@ impl Module for EntityStateSyncModule {
57
56
58
57
let mut prev_xp = table. field_unchecked :: < Xp > ( 2 ) ;
59
58
let prev_xp = prev_xp. get_mut ( ..) . unwrap ( ) ;
60
- let prev_xp: & mut [ u16 ] =
61
- core:: slice:: from_raw_parts_mut ( prev_xp. as_mut_ptr ( ) . cast ( ) , count) ;
62
-
63
- // debug_assert_eq!(
64
- // prev_xp.as_ptr() as usize & 63,
65
- // 0,
66
- // "prev_xp is not 64-byte aligned"
67
- // );
68
59
69
60
let mut xp = table. field_unchecked :: < Xp > ( 3 ) ;
70
61
let xp = xp. get_mut ( ..) . unwrap ( ) ;
71
- let xp: & mut [ u16 ] =
72
- core:: slice:: from_raw_parts_mut ( xp. as_mut_ptr ( ) . cast ( ) , count) ;
73
-
74
- // debug_assert_eq!(xp.as_ptr() as usize & 63, 0, "xp is not 64-byte aligned");
75
62
76
63
for ( idx, ( prev, current) ) in itertools:: zip_eq ( prev_xp, xp) . enumerate ( ) {
77
- if prev ! = current {
64
+ if prev = = current {
78
65
continue ;
79
66
}
80
67
81
68
let net = net. get ( idx) . unwrap ( ) ;
82
69
83
- let current = Xp :: from ( * current) ;
84
70
let visual = current. get_visual ( ) ;
85
71
86
72
let packet = play:: ExperienceBarUpdateS2c {
@@ -92,6 +78,8 @@ impl Module for EntityStateSyncModule {
92
78
compose
93
79
. unicast ( & packet, * net, SystemId ( 100 ) , & world)
94
80
. unwrap ( ) ;
81
+
82
+ * prev = * current;
95
83
}
96
84
}
97
85
}
0 commit comments