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
Lukas Wirth
fb7c651ab9
Port hecs derive macro improvements ( #761 )
...
* Port derive macro changes from hecs
* Emit more info on duplicate components in archetype creation
2020-11-06 13:20:53 -08:00
Carter Anderson
26be22e73c
fix unit test ( #802 )
2020-11-06 12:49:20 -08:00
Guillaume DALLENNE
5bd6deb974
Add mutated state when inserting an already existing component ( #404 )
...
Add mutated state when inserting an already existing component
2020-11-04 17:51:54 -08:00
Carter Anderson
1aa832be1d
fix unsafe Query function names ( #785 )
2020-11-03 14:10:29 -08:00
Carter Anderson
9afe196f16
release: 0.3.0 ( #783 )
2020-11-03 13:34:00 -08:00
memoryruins
e21705bec6
Remove two unused deps ( #780 )
2020-11-03 11:38:37 -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
Oscar
b6004e44cf
Local resources don't create if already present ( #745 )
...
Local<T> will no longer insert the inner resource if it already exists.
2020-10-30 12:21:57 -07:00
Boxy
dea05e9af5
Remove unsound cast in thread local resources ( #749 )
...
* Remove unsound cast in thread local resources
* Make ResourceRef(Mut)::new impossible to cause unsoundness with
2020-10-30 11:43:39 -07:00
Carter Anderson
1d4a95db62
ecs: ergonomic query.iter(), remove locks, add QuerySets ( #741 )
2020-10-29 23:39:55 -07:00
Freya
040b8f72b3
Optimize returns in file_asset_io.rs and entities.rs ( #728 )
...
Optimize returns in file_asset_io.rs and entities.rs
2020-10-28 16:59:45 -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
Carter Anderson
930eba4ccd
add thread local resources ( #671 )
2020-10-12 15:09:44 -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
memoryruins
ebce1f9c4a
Remove outdated ecs docs ( #646 )
2020-10-08 15:32:25 -07:00
Grayson Burton
354d71cc1f
The Great Debuggening ( #632 )
...
The Great Debuggening
2020-10-08 11:43:01 -07:00
Boutillier
1bdb9d3b00
Fix Added behaviour for QueryOne get. ( #543 )
...
Query unchanged as impacts performances.
Added tests in bevy_ecs/hecs
2020-10-05 10:38:12 -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
Alexander Sepity
85a7f883d1
Fix typo in #569 . ( #582 )
2020-09-26 10:26:19 -07:00
Alexander Sepity
3abfcad7ab
Patch memory leak in Archetype::grow()
. ( #569 )
2020-09-25 12:33:27 -07:00
Carter Anderson
028a22b129
asset: use bevy_tasks in AssetServer ( #550 )
2020-09-21 20:23:09 -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
74dba5f36b
release: 0.2.1 ( #533 )
2020-09-20 15:58:32 -07:00
Carter Anderson
ba5af4dd56
release: 0.2.0 ( #520 )
2020-09-19 15:29:08 -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
Jonas Matser
3b3b0195bc
Adds profiler_start/stop to parallel_executor ( #474 )
2020-09-11 12:14:36 -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
Smite Rust
a9ce7f4e82
update dependencies ( #470 )
2020-09-10 12:54:24 -07:00
Carter Anderson
ac117019e2
resolve unused variable warning in release builds
2020-09-08 13:29:55 -07:00
Grant Moyer
586303fd53
Parallel queries ( #292 )
...
Add support for Parallel Queries
2020-09-08 12:18:32 -07:00
Carter Anderson
413caae7bb
resolve errors from latest clippy version
2020-09-07 15:00:03 -07:00
Boxy
d86fae8147
Update docs for Updated, Changed and Mutated ( #451 )
...
Update docs for Updated, Changed and Mutated
2020-09-07 13:52:03 -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
Philip Degarmo
9eba19c8f0
Fix for bug #449 ( #450 )
...
Fix for a bug (#449 ) in scheduler that could result in systems running concurrently when they shouldn't.
2020-09-06 12:07:34 -07:00
Philip Degarmo
8b3553002d
Reworked parallel executor to not block ( #437 )
...
Reworked parallel executor to not block
2020-09-05 22:05:33 -07:00
BimDav
25f62f7250
Add support for 'or' in ECS querying for tuple queries ( #358 )
...
Add Or query to do a logical or on a set of queries
2020-09-01 18:12:54 -07:00
Boxy
57177c9e98
Bump entities to u128 to avoid collisions ( #117 ) ( #393 )
2020-08-31 11:51:28 -07:00
Boxy
3efbaca104
Fix archetypes_generation being incorrectly updated for systems ( #294 ) ( #383 )
2020-08-29 18:38:05 -07:00
Lachlan Sneff
17e7642611
Task System for Bevy ( #384 )
...
Add bevy_tasks crate to replace rayon
2020-08-29 12:35:41 -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
Xavientois
0ae74a4a4d
Some examples of documentation ( #338 )
2020-08-24 17:57:10 -07:00
Carter Anderson
b925e22949
0.1.3 upgrade
2020-08-22 10:16:52 -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