Пример #1
0
        /// <summary>
        /// </summary>
        /// <param name="effectName"></param>
        /// <param name="loadResources">Load all required resources?</param>
        /// <returns>The specified particle effect, or null if failed.</returns>
        public static ParticleEffect Get(string effectName, bool loadResources = true)
        {
            var effectHandle = NativeParticleEffectMethods.FindEffect(effectName, loadResources);

            if (effectHandle == IntPtr.Zero)
            {
                return(null);
            }

            return(TryGet(effectHandle));
        }
Пример #2
0
        /// <summary>
        /// </summary>
        /// <param name="effectName"></param>
        /// <param name="loadResources">Load all required resources?</param>
        /// <returns>The specified particle effect, or null if failed.</returns>
        public static ParticleEffect Get(string effectName, bool loadResources = true)
        {
            var ptr = NativeParticleEffectMethods.FindEffect(effectName, loadResources);

            if (ptr != IntPtr.Zero)
            {
                return(new ParticleEffect(ptr));
            }

            return(null);
        }
Пример #3
0
        public ParticleEffect GetChild(int index)
        {
            var childHandle = NativeParticleEffectMethods.GetChild(Handle, index);

            return(TryGet(childHandle));
        }
Пример #4
0
 public void LoadResources()
 {
     NativeParticleEffectMethods.LoadResoruces(Handle);
 }
Пример #5
0
 public void Remove()
 {
     NativeParticleEffectMethods.Remove(Handle);
 }
Пример #6
0
 /// <summary>
 /// Spawns this effect
 /// </summary>
 /// <param name="independent"></param>
 /// <param name="pos">World location to place emitter at.</param>
 /// <param name="dir">World rotation of emitter, set to Vec3.Up if null.</param>
 /// <param name="scale">Scale of the emitter.</param>
 public ParticleEmitter Spawn(Vec3 pos, Vec3?dir = null, float scale = 1f, bool independent = true)
 {
     return(ParticleEmitter.TryGet(NativeParticleEffectMethods.Spawn(Handle, independent, pos, dir ?? Vec3.Up, scale)));
 }
Пример #7
0
 /// <summary>
 /// Spawns this effect
 /// </summary>
 /// <param name="independent"></param>
 /// <param name="pos">World location to place emitter at.</param>
 /// <param name="dir">World rotation of emitter, set to Vec3.Up if null.</param>
 /// <param name="scale">Scale of the emitter.</param>
 public void Spawn(Vec3 pos, Vec3?dir = null, float scale = 1f, bool independent = true)
 {
     NativeParticleEffectMethods.Spawn(Handle, independent, pos, dir ?? Vec3.Up, scale);
 }