Carter Anderson
1d4a95db62
ecs: ergonomic query.iter(), remove locks, add QuerySets ( #741 )
2020-10-29 23:39:55 -07:00
BimDav
4ef18e2608
Resource change tracking ( #388 )
...
* Add mutated tracker on resources and ChangedRes query for added or mutated resources.
* ResMut:::new() now takes a reference to a 'mutated' flag in its archetype.
* Change FetchResource so that get() returns an Option. Systems using Resources will only be called if all fetched Resources are Some(). This is done to implement ChangedRes, which is Some iff the Resource has been changed.
* Add OrRes for a logical or in tuples of Resource queries.
* Separate resource query get() in is_some() and get() methods for clarity
* Remove unneeded unsafe
* Change ResMut::new()
2020-09-10 13:15:02 -07:00
Tristan Pemble
43463a7a06
Optimize transform systems to only run on change ( #417 )
...
Optimize transform systems to only run on change
2020-09-06 12:53:14 -07:00
Halfwhit
14bfd698c5
Update lib.rs
2020-08-13 17:39:33 +01:00
Carter Anderson
423c5e3e0f
ecs: prepare for publishing
2020-08-09 18:16:12 -07:00
Carter Anderson
141044aae7
ecs: publicly expose Added/Changed and inline some things
2020-07-22 16:19:27 -07:00
Carter Anderson
e673faab7c
ecs: rename Changed<T> to Mutated<T>
2020-07-22 12:42:12 -07:00
Carter Anderson
fe1adb6cf6
ui: focus/click/hover system. initial buttons
2020-07-18 14:08:46 -07:00
Carter Anderson
19fe299f5a
ecs: use Mut<T> tracking pointer everywhere
2020-07-18 02:09:55 -07:00
Carter Anderson
fbcf3f89d0
ecs: rename ComMut<T> to Track<T> and fix nested change queries
2020-07-18 01:05:06 -07:00
Carter Anderson
31d00ad861
ecs: initial component change tracking
...
(changing entity archetypes currently breaks tracking)
2020-07-17 17:50:17 -07:00
Carter Anderson
9f26a453c6
ecs: simplify imports
2020-07-16 19:20:51 -07:00
Carter Anderson
b12c4d0a48
render: simplify imports and cleanup prelude
2020-07-16 18:26:21 -07:00
Carter Anderson
196bde64e3
cargo fmt
2020-07-16 17:23:50 -07:00
Carter Anderson
4712e96aa8
ecs: make parallel executor resource-aware
2020-07-15 17:20:36 -07:00
Carter Anderson
1f6c9ece1d
ecs: call prepare() inside ParallelExecutor::run()
...
also moved some things around
2020-07-14 16:23:25 -07:00
Carter Anderson
0dc810a37a
ecs: add thread local system support to parallel executor
2020-07-14 14:19:17 -07:00
Carter Anderson
8d3a5ae0f1
ecs: initial parallel schedule executor
...
currently only considers component archetypes. still missing proper handling of thread local systems and resources
2020-07-13 19:36:41 -07:00
Carter Anderson
17f3860d12
remove unsafe Clone implementation on Res/ResMut in favor of UnsafeClone
2020-07-12 12:06:43 -07:00
Carter Anderson
c81ab99dac
cargo fmt
2020-07-10 01:37:06 -07:00
Carter Anderson
950e50bbb1
Bevy ECS migration
2020-07-10 01:06:21 -07:00