Skip to content

v2.0.0

Choose a tag to compare

@Sieluna Sieluna released this 19 Jul 09:24
· 254 commits to master since this release

Major release: serialization, event systems, and relations.

Breaking Changes

  • IParallelCommand renamed to IPureCommand
  • World split into multiple source files; entity exception types refactored
  • Wrapped world entity host removed; templates no longer need to be partial

Features

  • Sia.Serialization: binary world serializer with pluggable component serializers
  • Event systems: EventSystemBase, RecordEvents, snapshot event systems, functional systems
  • Event unions: generated via SiaEventsAttribute
  • Relation component for entity relationships
  • Set events triggered on component add; set method for entities
  • Bundle improvements: DynBundle as immutable record, bundle-list constructor, multi-component removal
  • Handle / Filter methods for HList; entity removal while iterating in foreach

Improvements

  • Simplified system definitions and parameter orders
  • World deserializer can populate existing worlds
  • Entity add/remove with safety checks

Fixes

  • RemoveMany for StorageEntityHost; struct bundle code generation; sibling storage lookup

Full Changelog: v1.9.0...v2.0.0