/** */ public Particle GetNext(Particle.ParticleType particleType) { if (particleType == null) { throw new ArgumentNullException("particleType cannot be null!"); } return(Particle.GetInstance(ParticlePool_GetNext(nativePtr, particleType))); }
/** */ public bool Empty(Particle.ParticleType particleType) { if (particleType == null) { throw new ArgumentNullException("particleType cannot be null!"); } return(ParticlePool_IsEmpty(nativePtr, particleType)); }
/// <summary> /// Releases a particle from the pool /// </summary> /// <param name="particleType"></param> /// <param name="name"></param> /// <returns></returns> public Particle ReleaseParticle(Particle.ParticleType particleType, String name) { if (particleType == null) { throw new ArgumentNullException("particleType cannot be null!"); } return(Particle.GetInstance(ParticlePool_ReleaseParticle(nativePtr, particleType, name))); }
/// <summary> /// Destroy particles of a certain type /// </summary> /// <param name="particleType"></param> public void DestroyParticles(Particle.ParticleType particleType) { if (particleType == null) { throw new ArgumentNullException("particleType cannot be null!"); } ParticlePool_DestroyParticles(nativePtr, particleType); }
/// <summary> /// This is not Currently Implemented. /// Don't use it will throw a Not Implemented Exception! /// </summary> /// <param name="particleType"></param> /// <param name="size"></param> /// <param name="behaviours"></param> /// <param name="technique"></param> public void IncreasePool(Particle.ParticleType particleType, uint size, ParticleBehaviour[] behaviours, ParticleTechnique technique) { throw new NotImplementedException("Not Currently Implemented!"); //ParticlePool_IncreasePool }
internal static extern bool ParticlePool_End(IntPtr ptr, Particle.ParticleType particleType);
internal static extern IntPtr ParticlePool_GetNext(IntPtr ptr, Particle.ParticleType particleType);
internal static extern IntPtr ParticlePool_ReleaseParticle(IntPtr ptr, Particle.ParticleType particleType, [MarshalAs(UnmanagedType.LPStr)] string name);
internal static extern void ParticlePool_DestroyParticles(IntPtr ptr, Particle.ParticleType particleType);
internal static extern uint ParticlePool_GetSize(IntPtr ptr, Particle.ParticleType particleType);
internal static extern bool ParticlePool_IsEmpty(IntPtr ptr, Particle.ParticleType particleType);