[][src]Struct tm_rs::ffi::tm_entity_api

#[repr(C)]pub struct tm_entity_api {
    pub create_truth_types: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub create_context: Option<unsafe extern "C" fn(*mut tm_allocator_i, *mut tm_the_truth_o, i32) -> *mut tm_entity_context_o>,
    pub destroy_context: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub register_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_i) -> u32>,
    pub num_components: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> u32>,
    pub component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32) -> *const tm_component_i>,
    pub register_engine: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_engine_i)>,
    pub registered_engines: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut u32) -> *mut tm_engine_i>,
    pub register_system: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_system_i)>,
    pub registered_systems: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut u32) -> *mut tm_entity_system_i>,
    pub create_child_allocator: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const i8, *mut tm_allocator_i)>,
    pub destroy_child_allocator: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_allocator_i)>,
    pub the_truth: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> *mut tm_the_truth_o>,
    pub unset_asset_root: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub create_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> tm_entity_t>,
    pub batch_create_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_entity_t, u32)>,
    pub create_entity_from_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t) -> tm_entity_t>,
    pub batch_create_entity_from_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t, *mut tm_entity_t, u32)>,
    pub create_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t) -> tm_entity_t>,
    pub batch_create_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t, *mut tm_entity_t, u32)>,
    pub destroy_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t)>,
    pub batch_destroy_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_t, u32)>,
    pub destroy_all_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub queue_destroy_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_t, u32)>,
    pub is_alive: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> bool>,
    pub num_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> u32>,
    pub entities_matching: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t, *mut tm_temp_allocator_i) -> *mut tm_entity_set_t>,
    pub flatten_set: Option<unsafe extern "C" fn(*mut tm_entity_t, *const tm_entity_set_t)>,
    pub lookup_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> u32>,
    pub component_manager: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32) -> *mut tm_component_manager_o>,
    pub create_component_mask: Option<unsafe extern "C" fn(*const u32, u32) -> tm_component_mask_t>,
    pub component_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> *const tm_component_mask_t>,
    pub add_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32) -> *mut c_void>,
    pub get_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32) -> *mut c_void>,
    pub get_component_by_hash: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64) -> *mut c_void>,
    pub remove_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32)>,
    pub call_remove_on_all_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32)>,
    pub parent: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> tm_entity_t>,
    pub asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> tm_tt_id_t>,
    pub find_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t) -> tm_entity_t>,
    pub resolve_asset_reference: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, tm_tt_id_t) -> tm_entity_t>,
    pub resolve_path: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, *const i8) -> tm_entity_t>,
    pub propagate_asset_changes: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub propagate_listen_to: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, tm_tt_id_t)>,
    pub set_blackboard_double: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, f64)>,
    pub set_blackboard_ptr: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, *mut c_void)>,
    pub has_blackboard: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> bool>,
    pub get_blackboard_double: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, f64) -> f64>,
    pub get_blackboard_ptr: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> *mut c_void>,
    pub run_engine: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_engine_i)>,
    pub update: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub listen: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32, *const tm_entity_listener_i)>,
    pub unlisten: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32, *const tm_entity_listener_i)>,
    pub notify: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, *const tm_entity_t, u32)>,
    pub listen_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64, *const tm_entity_event_listener_i)>,
    pub unlisten_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64, *const tm_entity_event_listener_i)>,
    pub unlisten_all: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut c_void)>,
    pub notify_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, *mut tm_entity_t, u32, *mut c_void, u32, u32)>,
    pub hot_reload: Option<unsafe extern "C" fn()>,
    pub set_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, u64, bool)>,
    pub has_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, u64) -> bool>,
    pub clear_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>,
    pub debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_primitive_drawer_buffer_t, *mut tm_primitive_drawer_buffer_t, *mut tm_allocator_i, *const tm_camera_t, tm_rect_t)>,
}

Fields

create_truth_types: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>create_context: Option<unsafe extern "C" fn(*mut tm_allocator_i, *mut tm_the_truth_o, i32) -> *mut tm_entity_context_o>destroy_context: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>register_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_i) -> u32>num_components: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> u32>component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32) -> *const tm_component_i>register_engine: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_engine_i)>registered_engines: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut u32) -> *mut tm_engine_i>register_system: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_system_i)>registered_systems: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut u32) -> *mut tm_entity_system_i>create_child_allocator: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const i8, *mut tm_allocator_i)>destroy_child_allocator: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_allocator_i)>the_truth: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> *mut tm_the_truth_o>unset_asset_root: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>create_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> tm_entity_t>batch_create_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_entity_t, u32)>create_entity_from_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t) -> tm_entity_t>batch_create_entity_from_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t, *mut tm_entity_t, u32)>create_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t) -> tm_entity_t>batch_create_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t, *mut tm_entity_t, u32)>destroy_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t)>batch_destroy_entity: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_t, u32)>destroy_all_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>queue_destroy_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_entity_t, u32)>is_alive: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> bool>num_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o) -> u32>entities_matching: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_component_mask_t, *mut tm_temp_allocator_i) -> *mut tm_entity_set_t>flatten_set: Option<unsafe extern "C" fn(*mut tm_entity_t, *const tm_entity_set_t)>lookup_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> u32>component_manager: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32) -> *mut tm_component_manager_o>create_component_mask: Option<unsafe extern "C" fn(*const u32, u32) -> tm_component_mask_t>component_mask: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> *const tm_component_mask_t>add_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32) -> *mut c_void>get_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32) -> *mut c_void>get_component_by_hash: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64) -> *mut c_void>remove_component: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32)>call_remove_on_all_entities: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32)>parent: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> tm_entity_t>asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t) -> tm_tt_id_t>find_entity_from_asset: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_tt_id_t) -> tm_entity_t>resolve_asset_reference: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, tm_tt_id_t) -> tm_entity_t>resolve_path: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, *const i8) -> tm_entity_t>propagate_asset_changes: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>propagate_listen_to: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, tm_tt_id_t)>set_blackboard_double: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, f64)>set_blackboard_ptr: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, *mut c_void)>has_blackboard: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> bool>get_blackboard_double: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, f64) -> f64>get_blackboard_ptr: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64) -> *mut c_void>run_engine: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *const tm_engine_i)>update: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>listen: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32, *const tm_entity_listener_i)>unlisten: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u32, *const tm_entity_listener_i)>notify: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, *const tm_entity_t, u32)>listen_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64, *const tm_entity_event_listener_i)>unlisten_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, tm_entity_t, u64, *const tm_entity_event_listener_i)>unlisten_all: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut c_void)>notify_event: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u64, *mut tm_entity_t, u32, *mut c_void, u32, u32)>hot_reload: Option<unsafe extern "C" fn()>set_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, u64, bool)>has_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, u32, u64) -> bool>clear_debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o)>debug_draw: Option<unsafe extern "C" fn(*mut tm_entity_context_o, *mut tm_primitive_drawer_buffer_t, *mut tm_primitive_drawer_buffer_t, *mut tm_allocator_i, *const tm_camera_t, tm_rect_t)>

Trait Implementations

impl Clone for tm_entity_api[src]

impl Copy for tm_entity_api[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Clone + Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.