/************************************************************************************************************************ This module contain attributes used to mark components. Currently only two attributes are supported: $(LIST * optional: mark component as optional for system update * readonly: mark component access as read only (used for multithreading) ) By default components are required and mutable. "const" attribute can be used insteac od readonly mark. --- Struct EntitiesData { Comp1[] cmp; //mutable required component @readonly @optional Comp2[] cmp2; //optional read only component @optional const (Comp3)[] cmp3; //same as cmp2 } --- Copyright: Copyright © 2018-2023, Dawid Masiukiewicz, Michał Masiukiewicz License: BSD 3-clause, see LICENSE file in project root folder. */ module bubel.ecs.attributes; ///Used to mark optional components for system. enum optional = "optional"; ///Used to mark readonly components for system. "const" can be used insted. enum readonly = "readonly";