#[repr(C)]pub struct SabSlot {Show 19 fields
pub network_id: u64,
pub x: f32,
pub y: f32,
pub z: f32,
pub rotation: f32,
pub dx: f32,
pub dy: f32,
pub dz: f32,
pub hp: u16,
pub shield: u16,
pub entity_type: u16,
pub flags: u8,
pub mining_active: u8,
pub cargo_ore: u16,
pub cargo_capacity: u16,
pub mining_target_id: u16,
pub combat_target_id: u16,
pub combat_flash_ticks: u8,
pub padding: [u8; 3],
}Expand description
A single replicated entity state in the compact shared buffer (48 bytes). Optimized for Void Rush (2D gameplay with 3D elevation).
Fields§
§network_id: u64Network-wide unique entity identifier.
x: f32World-space position X.
y: f32World-space position Y.
z: f32World-space position Z.
rotation: f32Orientation yaw (rotation around Z axis).
dx: f32Velocity vector X.
dy: f32Velocity vector Y.
dz: f32Velocity vector Z.
hp: u16Current health points.
shield: u16Current shield points.
entity_type: u16Entity type identifier.
flags: u8Bitfield flags (Alive: 0, Visible: 1, LocalPlayer: 2, Interpolate: 3, …).
mining_active: u8Mining state (0: inactive, 1: active).
cargo_ore: u16Current cargo count.
cargo_capacity: u16Maximum cargo capacity.
mining_target_id: u16Network ID of the mining target (truncated to 16-bit for Phase 1).
combat_target_id: u16Network ID of the combat target (truncated to 16-bit for Phase 1).
combat_flash_ticks: u8Number of frames to display the combat laser flash.
padding: [u8; 3]Padding to maintain 8-byte alignment (SabSlot size: 56 bytes).
Trait Implementations§
impl Copy for SabSlot
impl Pod for SabSlot
Auto Trait Implementations§
impl Freeze for SabSlot
impl RefUnwindSafe for SabSlot
impl Send for SabSlot
impl Sync for SabSlot
impl Unpin for SabSlot
impl UnsafeUnpin for SabSlot
impl UnwindSafe for SabSlot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request