4 using System.Runtime.InteropServices;
5 using SiliconStudio.Core.Serialization.Converters;
6 using SiliconStudio.Paradox.Effects;
7 using SiliconStudio.Paradox.EntityModel;
8 using SiliconStudio.Paradox.Games;
9 using SiliconStudio.Core;
10 using SiliconStudio.Core.Collections;
11 using SiliconStudio.Core.Mathematics;
12 using SiliconStudio.Paradox.Shaders;
14 namespace SiliconStudio.
Paradox.Engine
35 public int Count {
get; set; }
62 public int ParticleElementSize {
get; set; }
68 public Array ParticleData {
get; set; }
74 public bool UpdateNextBuffer {
get; set; }
80 public bool IsDynamicEmitter
84 return Type == ParticleEmitterType.CpuDynamic || Type == ParticleEmitterType.GpuDynamic;
88 public event Action<ParticleEmitterComponent>
UpdateData;
92 var updateData = UpdateData;
93 if (updateData != null) updateData(
this);
100 var updateSystem = UpdateSystem;
101 if (updateSystem != null) updateSystem(
this);
107 public event Action<ParticleEmitterComponent, Entity, TrackingCollectionChangedEventArgs>
MeshUpdate;
116 var update = MeshUpdate;
117 if (update != null) update(
this,
Entity, updateArgs);
122 return (
int)Math.Pow(2.0, Math.Ceiling(Math.Log(value, 2)));
Game entity. It usually aggregates multiple EntityComponent
A service registry is a IServiceProvider that provides methods to register and unregister services...
Action< ParticleEmitterComponent, Entity, TrackingCollectionChangedEventArgs > MeshUpdate
A callback called whenever the component is updated by the ParticleSystem.
void OnMeshUpdate(Entity entity, TrackingCollectionChangedEventArgs updateArgs)
static int CalculateMaximumPowerOf2Count(int value)
Action< ParticleEmitterComponent > UpdateSystem
virtual void OnAddToSystem(IServiceRegistry registry)
Action< ParticleEmitterComponent > UpdateData
A class that represents a tag propety.
ParticleEmitterComponent()
Initializes a new instance of the ParticleEmitterComponent class.
A container to handle a hierarchical collection of effect variables.
A shader class used for mixin.