using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Particles * @{ */ /// Structure used for initializing a ParticleSize object. [StructLayout(LayoutKind.Sequential), SerializeObject] public partial struct ParticleSizeOptions { /// Initializes the struct with default values. public static ParticleSizeOptions Default() { ParticleSizeOptions value = new ParticleSizeOptions(); value.size = new FloatDistribution(1f); value.size3D = null; value.use3DSize = false; return value; } /// /// Determines the uniform size of the particles evaluated over particle lifetime. Only used if 3D size is disabled. /// public FloatDistribution size; /// /// Determines the non-uniform size of the particles evaluated over particle lifetime. Only used if 3D size is enabled. /// public Vector3Distribution size3D; /// /// Determines should the size be evaluated uniformly for all dimensions, or evaluate each dimension with its own /// distribution. /// public bool use3DSize; } /** @} */ }