This commit is contained in:
Chance 2025-02-04 05:10:53 -05:00 committed by BitSyndicate
parent 7ec772e011
commit 3941535f7d
Signed by untrusted user: bitsyndicate
GPG key ID: 443E4198D6BBA6DE
7 changed files with 430 additions and 16 deletions

View file

@ -1,3 +1,15 @@
// struct ComponentRegistry {
// components
// }
pub trait Component: Sized + 'static {
fn update(&mut self, delta_time: f32);
fn serialize(&self) -> Vec<u8>;
fn deserialize(data: &[u8;6]) -> Self;
}
pub trait Entity: Sized {
fn add_component<C: Component>(&mut self, component: C);
fn remove_component<C: Component>(&mut self);
fn get_component<C: Component>(&self) -> Option<&C>;
fn serialize(&self) -> Vec<u8>;
fn deserialize(data: &[u8;6]) -> Self;
}