138 ErrorEx(
string.Format(
"Could not create ParticleSource as particle id %1 is invalid.",
id));
142 ParticleProperties
props =
new ParticleProperties(pos, flags, parent,
ori,
owner);
533 GetEvents().Event_OnAllocationEnd.Invoke(
this);
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
static AnimSoundObjectBuilderBank GetInstance()
ParticleEvents GetEvents()
Get the events.
proto native int PlayParticles(out array< ParticleSource > particles, string path, notnull array< vector > positions, int count=1)
QoL function for when wanting to play a particle at a position right away.
proto native int GetVirtualCount()
Gets the amount of virtual particles.
proto native int GetPoolSize()
Gets the fixed maximum size of the pool.
class ParticleManagerConstants ParticleManagerSettings(int poolSize, int flags=ParticleManagerSettingsFlags.NONE)
Settings given to ParticleManager on creation (in ctor)
ParticleSource PlayInWorldEx(int particle_id, Object parent_obj, vector global_pos, vector global_ori="0 0 0", bool force_world_rotation=false)
proto native int GetPlayingCount()
Gets the amount of playing particles.
ParticleSource PlayParticleById(int id, array< vector > position)
QoL function for when only one particle is needed using script ParticleList, strongly recommend to re...
proto static native int GetStaticActiveCount()
Gets the amount of ParticleManager that are currently existing.
proto native int GetParticles(out array< ParticleSource > outArray, int startIndex, int count)
Manually get a portion of the particles in the pool.
ParticleSource CreateParticleEx(int id, vector pos, int flags=ParticlePropertiesFlags.NONE, Object parent=null, vector ori=vector.Zero, Class owner=null)
Master create function.
proto int GetCountID()
Gets the ID for the ParticleManager.
static void CleanupInstance()
To clean it up properly before game closes.
ParticleSource CreateInWorld(int particle_id, vector global_pos, vector global_ori="0 0 0", bool force_world_rotation=false)
Creates a particle emitter on the given position.
ParticleSource CreateOnObject(int particle_id, Object parent_obj, vector local_pos="0 0 0", vector local_ori="0 0 0", bool force_world_rotation=false)
Creates a particle emitter and attaches it on the given object.
void OnAllocation(array< ParticleSource > allocatedParticles)
array< ParticleSource > CreateParticlesByIdArr(int id, notnull ParticlePropertiesArray properties, int count)
QoL function using script ParticleList, strongly recommend to read comments for CreateParticles as we...
proto string GetDebugNameNative()
Gets the debug name for the ParticleManager.
ParticleSource PlayInWorld(int particle_id, vector global_pos)
Creates a particle emitter on the given position and activates it.
proto native ParticleSource GetParticle(int index)
Manually get the particle at index.
void ~ParticleManager()
dtor
int CreateParticlesById(int id, notnull ParticlePropertiesArray properties, int count)
QoL function using script ParticleList, strongly recommend to read comments for CreateParticles as we...
proto native int GetAllocatedCount()
Gets the amount of particles currently allocated.
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
ParticleSource CreateParticleById(int id, ParticleProperties properties)
QoL function for when only one particle is needed using script ParticleList, strongly recommend to re...
ParticleSource PlayOnObject(int particle_id, Object parent_obj, vector local_pos="0 0 0", vector local_ori="0 0 0", bool force_world_rotation=false)
Creates a particle emitter, attaches it on the given object and activates it.
ParticleManagerSettingsFlags
Flags for ParticleManagerSettings.
@ REUSE_OWNED
Reuse stopped particles even if they are owned by something.
@ DISABLE_VIRTUAL
Disable the creation of virtual particles when the pool is still allocating.
@ BLOCKING
Allocation blocks the game until it is done.
@ FIXED_INDEX
Particles will be locked to the index and not reused.
proto native bool IsFinishedAllocating()
Checks if the ParticleManager has allocated all slots in the pool.
array< ParticleSource > PlayParticlesById(int id, array< vector > positions, int count)
QoL function using script ParticleList, strongly recommend to read comments for PlayParticles as well...
array< ParticleSource > GetParticlesEx(int startIndex, int count)
Manually get a portion of the particles in the pool.
ParticleSource CreateParticleByPath(string path, notnull ParticleProperties properties)
Create a particle.
proto static native int GetStaticCount()
Gets the amount of ParticleManager that have been created since the start of the program.
class ParticleManagerEvents g_ParticleManager
Has a fixed pool of precreated and reserved particles.
proto Managed GetScriptEvents()
Get the events.
proto native int CreateParticles(array< ParticleSource > particles, string path, notnull ParticlePropertiesArray properties, int count=1)
Creates an amount of particles with the properties given.
proto void SetScriptEvents(Managed events)
Set the events.
void ~ParticleManagerSettings()
dtor
Super root of all classes in Enforce script.
static string GetParticleFullPath(int particle_id)
Returns particle's full path (with .ptc suffix) based on its ID.
Class simply to have easily modded constants.
static const int POOL_SIZE
Invokers for ParticleManager events.
ref ScriptInvoker Event_OnAllocation
ref ScriptInvoker Event_OnAllocationEnd
Entity which has the particle instance as an ObjectComponent.
ScriptInvoker Class provide list of callbacks usage:
override string GetDebugName()
proto native CGame GetGame()
static proto native Shape Create(ShapeType type, int color, ShapeFlags flags, vector p1, vector p2)