using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace BansheeEngine
{
/** @addtogroup Particles
* @{
*/
/// Information describing a ParticleEmitterConeShape.
[StructLayout(LayoutKind.Sequential), SerializeObject]
public partial struct ParticleConeShapeOptions
{
/// Initializes the struct with default values.
public static ParticleConeShapeOptions Default()
{
ParticleConeShapeOptions value = new ParticleConeShapeOptions();
value.type = ParticleEmitterConeType.Base;
value.radius = 0f;
value.angle = new Degree();
value.length = 1f;
value.thickness = 1f;
value.arc = new Degree();
value.mode = new ParticleEmissionMode();
return value;
}
/// Determines where on the cone are the particles emitter from.
public ParticleEmitterConeType type;
/// Radius of the cone base.
public float radius;
/// Angle of the cone.
public Degree angle;
/// Length of the cone. Irrelevant if emission type is Base.
public float length;
///
/// Proportion of the volume that can emit particles. Thickness of 0 results in particles being emitted only from the
/// edge of the cone, while thickness of 1 results in particles being emitted from the entire volume. In-between values
/// will use a part of the volume.
///
public float thickness;
/// Angular portion of the cone from which to emit particles from, in degrees.
public Degree arc;
/// Determines how will particle positions on the shape be generated.
public ParticleEmissionMode mode;
}
/** @} */
}