Bot releases are visible (Hide)
Published by grofit about 6 years ago
So this version (0.2.0) contains a lot of performance changes and improvements, as well as a lot of feature improvements and streamlining of functionality. You can go download it via nuget now.
This version brings in some new stuff and some streamlined old stuff.
Computeds have been changed a bit, so now IComputed
represents a singular computed value, IComputedGroup
represents a pre-computed IObservableGroup
(i.e a filtered group) and then IComputedCollection
which represents a computed collection of data. There are docs specifically on this subject which detail it in more depth, but this at a high level allows you to define a living property and then pass it to whatever needs it, allowing you to have a living "Leaderboard" or whatever that everything can subscribe to or look at.
Observable groups have now been changed a bit and now expose a removing event, which can be used to find out when an entity is about to leave a group but before it has been stripped of the components that would cause it to leave the group.
Until now a group only had the notion of required components, so you could request entities which contained any amount of components but now we can also exclude entities with components you dont want.
So for example if you had an RTS game and you wanted to select all offensive units, you could have a group that required SquadUnit
components but exclude ones which contain BuilderUnit
.
There are now 4 packages in nuget
It is recommended that in most cases you will want all of the above, and for those who are using unity or monogame etc will still have engine/platform specific helper repos which will build on top of these packages.
It is A LOT faster now and uses a lot less memory for general stuff, there are more performance improvements that can be done from here but they may require altering the higher level api some main areas where performance/GC has improved
AddComponents
or RemoveComponents
)int
not Guid
but are intelligently managedRequiredComponents
and ExcludedComponents
rather than TargettingComponents
EcsRx.Systems
(this is all systems bar IManualSystem
)Process
method rather than Execute
Published by grofit over 6 years ago
Ok so this is the first release of the separated off EcsRx code base from the unity version, expect some things to be in flux, but generally this library should work out the box for people wanting to use this in normal .net settings with rx.net.
The existing EcsRx project has been renamed to EcsRx.Unity and will be updated shortly to use this under the hood, this being said it will mean that it will only support unity 2018.1 with .net standard 2.0 and .net 4.6 support.
Anyway it should be on nuget, but there are some problems with rx.net not having final 4.0 versions, but there is a DLL for consumption with the release anyway.