Skip to content

Implementation Descisions

Achiya Elyasaf edited this page Aug 23, 2020 · 2 revisions
  • Context instances:
    • Immutable by default (freezed copy). To get current version: CTX[entity].
    • Live copy by default, to get freezed copy (e.g., the seed) - entity.getFreezedCopy()
  • make sure that for each event - only one effect function is called (otherwise - race condition).
  • make sure that effect functions are called before "external" listeners.
  • make sure that "External" listeners get the events only at super step by the order of the events.
  • Make sure that EffectFunction are called before the b-threads are advanced.
  • If two effect functions are relevant for one event - throw a runtime exception.
  • Add ContextChanged internal event (e.g., Cell is the same, but the piece in it - changed).
Clone this wiki locally