Commit graph

256 commits

Author SHA1 Message Date
Carter Anderson
509b138e8f
Schedule v2 (#1021)
Schedule V2
2020-12-12 18:04:42 -08:00
Lukas Orsvärn
e1b995f0b0
Add documentation for bevy::ecs::Query::removed (#950)
Add documentation for bevy::ecs::Query::removed
2020-12-07 12:41:40 -08:00
Michael Tang
ff12f69233
Document part of bevy_ecs::Commands (#976)
Document part of bevy_ecs::Commands
2020-12-02 19:11:28 -08:00
Joshua J. Bouw
9f4c8b1b9a
Fix errors and panics to typical Rust conventions (#968)
Fix errors and panics to typical Rust conventions
2020-12-02 11:31:16 -08:00
Carter Anderson
4fecb899aa
initialize chained systems (#886) 2020-11-17 17:06:47 -08:00
Carter Anderson
3a6f6de277
System Inputs, Outputs, Chaining, and Registration Ergo (#876)
System Inputs, Outputs, Chaining, and Registration Ergo
2020-11-16 18:18:00 -08:00
bjorn3
50c7e229b2
Rework ResourceData to use VecResourceStorage instead of Archetype (#873) 2020-11-16 16:55:59 -08:00
Carter Anderson
7628f4a64e
combine bevy_ecs and bevy_hecs crates. rename XComponents to XBundle (#863)
combine bevy_ecs and bevy_hecs crates. rename XComponents to XBundle
2020-11-15 20:32:23 -08:00
François
02f543eca3
Fall back to remove components one by one when failing to remove a bundle (#719)
Fall back to remove components one by one when failing to remove a bundle
2020-11-15 14:32:54 -08:00
memoryruins
4bdff66b80
Check for conflicting system resource parameters (#864) 2020-11-15 12:42:43 -08:00
Carter Anderson
e03f17ba7f
Log Plugin (#836)
add bevy_log plugin
2020-11-12 17:23:57 -08:00
Carter Anderson
e769974d6a
query filters (#834) 2020-11-10 20:48:34 -08:00
memoryruins
a68c217ccf
Mark Query and QuerySet contructors as pub(crate) (#829)
Mark Query and QuerySet contructors as pub(crate)
2020-11-10 16:14:33 -08:00
Carter Anderson
213ba9629a
ecs: fix system name in "conflicting system" error message (#816) 2020-11-08 13:48:00 -08:00
Carter Anderson
ebcdc9fb8c
Flexible ECS System Params (#798)
system params can be in any order, faster compiles, remove foreach
2020-11-08 12:34:05 -08:00
Carter Anderson
1aa832be1d
fix unsafe Query function names (#785) 2020-11-03 14:10:29 -08:00
memoryruins
f81208adaa
impl ReadOnlyFetch for Or, FetchOr, and FetchMutated (#763) 2020-11-01 16:51:51 -08:00
Carter Anderson
ad940fbf6e
Rename query.entity() to query.get() and query.get() to query.get_component() (#752) 2020-10-30 18:04:33 -07:00
Carter Anderson
1d4a95db62
ecs: ergonomic query.iter(), remove locks, add QuerySets (#741) 2020-10-29 23:39:55 -07:00
Carter Anderson
a6ac8faa8a
port upstream hecs performance improvements (#716) 2020-10-22 11:53:59 -07:00
Carter Anderson
c32e637384
Asset system rework and GLTF scene loading (#693) 2020-10-18 13:48:15 -07:00
Mat Hostetter
871790c6e0
Adjust how ArchetypeAccess tracks mutable & immutable deps (#660)
`ArchetypeAccess` was tracking `immutable` and `mutable` separately.
This means that checking is_compatible requires three checks:
m+m, m+i, i+m.

Instead, continue tracking `mutable` accesses, but instead of
`immutable` track `immutable | mutable` as another `accessed` bit mask.
This drops the comparisons to two (m+a, a+m) and turns out to be
what the rest of the code base wants too, unifying various duplicated
checks and loops.
2020-10-15 13:39:01 -07:00
Nathan Jeffords
7e23e132ef
add version of the ecs's write_world method that takes a pre-boxed world writer (#661)
Co-authored-by: Nathan Jeffords <njeffords@comtechefdata.com>
2020-10-14 14:01:08 -07:00
Nathan Stocks
bf501b77cc
Don't panic when despawning entity multiple times (#649)
Emit a debug log message instead of a panic when despawning an entity which has already been despawned.
2020-10-08 16:58:19 -07:00
Grayson Burton
354d71cc1f
The Great Debuggening (#632)
The Great Debuggening
2020-10-08 11:43:01 -07:00
Jonas Matser
3a4eacbdee
Adds derive for missing debug implementations (#597) 2020-10-01 10:58:21 -07:00
Raymond
74ad1c3752
Add remove bundle to bevy_ecs commands (#579)
add remove bundle to bevy_ecs commands
2020-09-26 14:27:56 -07:00
HyperLightKitsune
295e1f0a18
use FnOnce in Commands and ChildBuilder where possible (#535)
use FnOnce in Commands and ChildBuilder
2020-09-21 13:51:38 -07:00
Carter Anderson
70ad6671db
ecs: use generational entity ids and other optimizations (#504)
ecs: use generational entity ids and other optimizations
2020-09-17 17:16:38 -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
Grant Moyer
586303fd53
Parallel queries (#292)
Add support for Parallel Queries
2020-09-08 12:18:32 -07:00
Robbie Davenport
4aabe983ec
Switch usage of std HashMap/HashSet default hasher, to aHash algo (#258)
switch to ahash for HashMaps and HashSets via a new bevy_utils crate
2020-08-28 17:08:51 -07:00
Lachlan Sneff
1eca55e571
Replace std synchronization primitives with parking_lot (#210)
* Replace std::sync::Mutex with parking_lot::Mutex
* Replace std::sync::RwLock with parking_lot::RwLock
2020-08-21 14:55:16 -07:00
Victor "multun" Collod
c38420f1e9 enforce clippy for all target and features 2020-08-16 07:20:06 -07:00
Victor "multun" Collod
d138647818 enforce cargo fmt --check 2020-08-16 05:02:06 -07:00
Victor "multun" Collod
1ec7183494 profiling: fix build 2020-08-16 02:06:59 -07:00
John Doneth
589af3dc51 Add Command::remove_one 2020-08-13 19:38:38 -04:00
Carter Anderson
423c5e3e0f ecs: prepare for publishing 2020-08-09 18:16:12 -07:00
Carter Anderson
3d09459813 add more doc comments and clean up some public exports 2020-08-09 16:13:04 -07:00
Carter Anderson
f85ec04a48 ecs: prepare system ranges based on stage and thread locals 2020-07-30 13:19:55 -07:00
Carter Anderson
2929197d9b render: add RenderPass queries. move ui to its own pass 2020-07-28 20:11:27 -07:00
Carter Anderson
bd8e979de8 ecs: only borrow/iterate archetypes currently used by a given query 2020-07-28 16:37:37 -07:00
Carter Anderson
64cc382477 ecs: move copy of QueryBorrow into bevy_ecs and fix perf regressions 2020-07-28 16:17:21 -07:00
Carter Anderson
7212b70478 rustfmt changes 2020-07-28 14:24:03 -07:00
Moxinilian
311f04f858 transform: implement hierarchical entity despawn 2020-07-28 00:10:32 +02:00
Thomas Herzog
b4c185eb0c cargo fmt 2020-07-26 21:10:18 +02:00
Carter Anderson
6cad80d572 transform|ui: fix transform update lag 2020-07-23 18:26:08 -07:00
Carter Anderson
d79339ea62 transform: add more control parent/child ordering and make parent/children insertion atomic 2020-07-23 17:32:53 -07:00
Carter Anderson
85bd0342d4 ecs: add write_world and write_resources to Commands
this allows for custom commands
2020-07-23 13:12:38 -07:00
Carter Anderson
f82af10a69 ecs: component removal tracking 2020-07-22 17:57:13 -07:00
Carter Anderson
ae30175e18 ecs: fix query.get::<T>() access 2020-07-21 22:00:55 -07:00
Carter Anderson
0c2e26ddde Revert "ecs: remove &mut requirement on query iterators"
This reverts commit 6dc1d07cbc.
2020-07-21 20:12:15 -07:00
Carter Anderson
6dc1d07cbc ecs: remove &mut requirement on query iterators 2020-07-20 13:59:51 -07:00
Carter Anderson
946d5d1024 ecs: refactor resources
fixes unintialized global resource memory
2020-07-19 14:23:06 -07:00
Carter Anderson
fe1adb6cf6 ui: focus/click/hover system. initial buttons 2020-07-18 14:08:46 -07:00
Carter Anderson
9f26a453c6 ecs: simplify imports 2020-07-16 19:20:51 -07:00