Releases: scellecs/morpeh
Releases · scellecs/morpeh
2022.1.0
English version: Migration Guide
Russian version: Гайд по миграции
[2022.1.0] - 31.10.2022
Added
- Basic Jobs/Burst support:
- Changing components data (
ref T nativeCache.GetComponent(EntityID entityId)
/ref T nativeCache.GetComponent(EntityID entityId, out bool exists)
) - Checking if components exist on an entity (
bool nativeCache.HasComponent(EntityID entityId)
)
- Changing components data (
.AsNative()
API for Jobs/Burst:Archetype
(NativeArchetype
)ComponentsCache
(NativeCache
)FastList
(NativeFastList
)IntFastList
(NativeIntFastList
)Filter
(NativeFilter
)IntHashMap
(NativeIntHashMap
)World
(NativeWorld
)
Filter.IsEmpty()
to check if filter has no entitiesIMorpehLogger
interface for custom loggers (Console.WriteLine
for non-Unity environments by default)MORPEH_PROFILING
define for automatic systems profilingWorld.TryGetEntity(EntityId entityId, out Entity entity)
- returns true and entity if it exists, false otherwiseMORPEH_NON_SERIALIZED
define to avoid serialization of Morpeh components- Displaying multiple worlds in World Browser
- Search support in World Browser
MORPEH_BURST
define to determine if Burst is enabledWorld.SetFriendlyName(string name)
/string World.GetFriendlyName()
+ integration with World BrowserEntity.MigrateTo(Entity otherEntity)
to migrate components from one entity to anotherEXTERNAL_IL2CPP_ATTRS
define support for external IL2CPP attributes
Changed
- [Breaking] Rename
Morpeh/XCrew.Morpeh
->Scellecs.Morpeh
- [Breaking] Globals
NextFrame
->Publish
- [Breaking]
int Entity.ID
->EntityID Entity.ID
- [Breaking]
Filter.Length
->Filter.GetLengthSlow()
- [Breaking] Components caches now cleanup after removing components (Reading ref components data is not allowed after removing components)
- [Breaking]
Filter
iteration is not order-deterministic - [Breaking]
FastList
allows removing elements during iteration (current and next elements only) Entity.Dispose()
is now publicInstaller
can be inherited from- License ownership changed to
Oleg Morozov, Igor Boyko
- Internal optimizations and improvements
Fixed
- Extra filter update #129
- Systems disposed twice #128
- Entity is detected as alive when it's not #123
- World.Default takes 0-th index with null value if initialized outside of UnityRuntimeHelper #138
- Errors in Pure C# projects
- Memory leaks in Collections
Removed
- [Breaking]
ComponentsBag
(replaced byComponentsCache
)
2020.8.0
Breaking Changes:
- Filter.Update to World.UpdateFilters()
- Renaming IEntity to Entity
Changes: - Add Singletons. It is SO with associated entity.
- Custom Collections with hashes.
- Rework core to extensions methods and unsafe API.
- Improve filter performance.
- Git Dependencies Resolver.