Crate pi_world

Source

Modules§

alter
app
App包含一个world,一个调度器,及一个运行时
archetype
async_function_system
column
commands
debug
dot
Simple graphviz dot file format output.
editor
entry_query
event
事件,及组件移除
exec_graph
异步执行 静态有向无环图 的执行节点 执行节点有3种,system执行节点,原型执行节点, 单例执行节点 内部维护了图的节点向量和边向量 执行节点采用pi_append_vec存放, 边也采用pi_append_vec 执行图本身支持动态添加原型执行节点及创建相应的边, 可线程安全的放入新节点和边,并线程安全的连接from和to的边 如果有A对X写和Y读,则创建Y–>A和A–>X的边 如果有A和B都会对X写,写不能并行,而A在B前面先写,则创建A–>B的边, 这样B就会等待A执行后再执行
fetch
filter
() 为空过滤器,表示不做过滤 Empty表示取World的空原型 2种原型过滤器 Without With Or只支持多个With,表示原型上只要有任何1个C就可以 Changed Removed Destroyed为迭代器,多个迭代器是或关系, 原型上只要有1个可迭代的组件就可以 Query<(&T, &mut C8>), (Without,With,With,Or<(With, With)>, Changed, Destroyed, Removed)>
function_system
insert
listener
multi_res
多例资源, 每个独立system都维护该类型的自己独立的资源。 这样多个独立system可以并行写,然后多个system并行读,读的时候遍历所有写system的独立资源。 这样就实现了并行写,并行读。 每个独立的资源都有自己的Tick, 并且多例资源有一个共享的Tick。
param_set
在system_parms的init_state时,会检查参数之间是否有读写冲突,比如组件读写冲突 参数集, 用来容纳有读写冲突的参数,参数集内保证只有一个可以读写,所以参数集内的参数不彼此检查读写冲突
param_unready
在system_parms的init_state时,会检查参数之间是否有读写冲突,比如组件读写冲突 参数集, 用来容纳有读写冲突的参数,参数集内保证只有一个可以读写,所以参数集内的参数不彼此检查读写冲突
prelude
Most commonly used re-exported types.
query
查询
schedule
schedule_config
single_res
单例资源, 先system依次写,然后多system并行读
system
system_params
table
utils
world
world_ptr