private byte[]? _storage;
static readonly int[] OrientationOffsetTable;
public Quaternion Orientation
{
get => _fields & MyVisualDataFields.Orientation == MyVisualDataFields.Orientation ? Unsafe.Cast<byte, Quaternion>(_storage.AsSpan().Slice(OrientationOffsetTable[(int)_fields], Unsafe.SizeOf<Quaternion>))[0] : default;
}
}
ток сеттер будет сложный, т. к. ему надо двигать память когда ранее не заданное поле задействуется
вот такого вида
и чем это отличается от ^ кроме лишних словарей?
тут просто у каждого Visual-а (опционально) есть свой байтмассив
А тебе норм, что массив будет на куче?
так и класс в куче
Обсуждают сегодня