private void InvalidateSlot(ushort handle)
        {
            var block = _stateMemory.GetBlock(handle, out var subIndex);

            StateAllocator.IncVersion(ref block->Version[subIndex]);
            ++Version;
        }
        internal WorldUnmanagedImpl(ulong sequenceNumber, WorldFlags flags)
        {
            CurrentTime = default;
#if ENABLE_UNITY_COLLECTIONS_CHECKS
            AllowGetSystem = true;
#endif
            SequenceNumber           = sequenceNumber;
            MaximumDeltaTime         = 1.0f / 3.0f;
            Flags                    = flags;
            _unmanagedSlotByTypeHash = new UnsafeMultiHashMap <long, ushort>(32, Allocator.Persistent);
            _pendingDestroys         = new UnsafeList <ushort>(32, Allocator.Persistent);
            _stateMemory             = default;
            _stateMemory.Init();
            Version         = 0;
            ExecutingSystem = default;
        }