using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Particles * @{ */ /// Structure used for initializing a ParticleOrbit object. [StructLayout(LayoutKind.Sequential), SerializeObject] public partial struct ParticleOrbitOptions { /// Initializes the struct with default values. public static ParticleOrbitOptions Default() { ParticleOrbitOptions value = new ParticleOrbitOptions(); value.center = null; value.velocity = null; value.radial = new FloatDistribution(0f); value.worldSpace = false; return value; } /// Position of the center around which to orbit. Evaluated over particle system lifetime. public Vector3Distribution center; /// /// Determines the speed of rotation around each axis. The speed is specified in "turns" where 0 = no rotation, 0.5 = /// 180 degree rotation and 1 = 360 degree rotation. Evaluated over particle lifetime. /// public Vector3Distribution velocity; /// /// Speed at which to push or pull the particles towards/away from the center. Evaluated over particle lifetime. /// public FloatDistribution radial; /// True if the properties provided are in world space, false if in local space. public bool worldSpace; } /** @} */ }