AppEasy Core SDK  1.5.0
Cross platform mobile and desktop app and game development SDK - The easy way to make apps
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
CzActorParticles Class Reference

A particle system based actor. More...

#include <CzActorParticles.h>

Inheritance diagram for CzActorParticles:
CzActor IzXomlResource IzAnimTarget

List of all members.

Public Types

enum  eParticleMode { PAM_Normal, PAM_Random }

Public Member Functions

bool addParticle (CzActorParticle *particle, const CzIRect &src_rect, int count=0, float spawn_delay=0.0f, CzSprite::eAnchor anchor=CzSprite::Centre)
 Adds particles to the particle system.
void removeParticle (CzActorParticle *particle)
void removeAllParticles ()
int getParticleCount () const
CzActorParticlegetParticle (int index)
 Gets particle at index.
CzImagegetImage ()
void setImage (CzImage *image)
void setPositionMode (eParticleMode mode)
void setAngleMode (eParticleMode mode)
void setScaleMode (eParticleMode mode)
void setVelocityMode (eParticleMode mode)
void setAngVelocityMode (eParticleMode mode)
void setScaleVelocityMode (eParticleMode mode)
void setDepthMode (eParticleMode mode)
void setDepthVelocityMode (eParticleMode mode)
void setPositionRange (CzVec2 &range)
CzVec2 getPositionRange () const
void setAngleRange (CzVec2 &range)
CzVec2 getAngleRange () const
void setScaleRange (CzVec2 &range)
CzVec2 getScaleRange () const
void setDepthRange (CzVec2 &range)
CzVec2 getDepthRange () const
void setVelocityRange (CzVec4 &range)
CzVec4 getVelocityRange () const
void setAngVelocityRange (CzVec2 &range)
CzVec2 getAngVelocityRange () const
void setScaleVelocityRange (CzVec2 &range)
CzVec2 getScaleVelocityRange () const
void setDepthVelocityRange (CzVec2 &range)
CzVec2 getDepthVelocityRange () const
void SetDestSize (int w, int h)
bool setProperty (unsigned int property_name, const CzXomlProperty &data, bool delta)
 Sets the named property of the ActorParticles.
bool setProperty (unsigned int property_name, const CzString &data, bool delta)
 Sets the named property of the actor.
bool getProperty (unsigned int property_name, CzXomlProperty &prop)
 Gets the named property of the actor.
void setAutoDelete (bool enable)
bool isAutoDelete () const
 CzActorParticles ()
virtual ~CzActorParticles ()
bool Init (int max_particles)
 Initialises the particle system actor.
bool Update (float dt)
 Updates the particle system actor.
bool UpdateVisual ()
 Updates the actors visuals.
int LoadFromXoml (IzXomlResource *parent, bool load_children, CzXmlNode *node)
 Creates an instance of this class from XML.
bool UpdateFromAnimation (CzAnimInstance *animation)
 Updates actor property from supplied animation.
void GenerateRandomParticles (int count, const CzIRect &src_rect, const CzVec4 &colour, const CzVec4 &colour_velocity, CzVec2 &gravity, float duration, int repeat_count=0, float spawn_delay_change=0)
 Generates a number of random particles.
void GenerateRandomParticles (int count, CzActorParticle *particle, const CzIRect &src_rect, float duration, int repeat_count=0, float spawn_delay_change=0)
 Generates a number of random particles based on an existing particle.
void setVelocityAll (float x, float y, bool delta)
 Sets the velocity of all particles to the given velocity.
void RegenParticle (CzActorParticle *particle)
 Regenerates a particle.

Static Public Member Functions

static void InitClass ()
 Initialises the class.
static void ReleaseClass ()
static CzXomlProperty _getParticleCount (IzXomlResource *target)
static bool _setSize (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getSize (IzXomlResource *target)
static bool _setImage (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getImage (IzXomlResource *target)
static bool _setPosMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setAngMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setScaleMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setDepthMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setAngVelMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setVelMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setScaleVelMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setDepthVelMode (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setPositionRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setAngleRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setScaleRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setDepthRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setVelRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setAngVelRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setScaleVelRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setDepthVelRange (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setVelocityAll (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static bool _setAutoDelete (IzXomlResource *target, const CzXomlProperty &prop, bool add)
static CzXomlProperty _getAutoDelete (IzXomlResource *target)

Protected Member Functions

void setParticlesVisibility (bool visible)
 Sets particles visibility.
bool UpdateBinding (unsigned int property_name, CzXomlVariable *var)
 Updates an actor property from the supplied XOML variable.

Protected Attributes

CzImageImage
 Image used by the particles.
CzSlotArray< CzActorParticle * > * Particles
 Particles in this system.
eParticleMode PositionMode
 Mode of operatiuon for position.
eParticleMode AngleMode
 Mode of operatiuon for angle.
eParticleMode ScaleMode
 Mode of operatiuon for scale.
eParticleMode DepthMode
 Mode of operatiuon for depth.
eParticleMode VelocityMode
 Mode of operatiuon for velocity.
eParticleMode AngVelocityMode
 Mode of operatiuon for angular velocity.
eParticleMode ScaleVelocityMode
 Mode of operatiuon for scale velocity.
eParticleMode DepthVelocityMode
 Mode of operatiuon for depth velocity.
CzVec2 PositionRange
 Range of spawn positions.
CzVec2 AngleRange
 Range of spawn angles - x = min angle, y = max angle.
CzVec2 ScaleRange
 Range of scales - x = min scale, y = max scale.
CzVec2 DepthRange
 Range of depth - x = min depth, y = max depth.
CzVec4 VelocityRange
 Range of spawn velocities - min_x, max_y, min_y, max_y.
CzVec2 AngVelocityRange
 Range of angular velocities - x = min ang velocity, y = max ang velocity.
CzVec2 ScaleVelocityRange
 Range of scale velocities - x = min scale velocity, y = max scale velocity.
CzVec2 DepthVelocityRange
 Range of depth velocities - x = min depth velocity, y = max depth velocity.
bool AutoDelete
 Wehn set to true the actor will be automatically deleted when the particle system finishes running.

Static Protected Attributes

static CzXomlClassDefActorParticlesClassDef = NULL

Detailed Description

A particle system based actor.

Many games and in fact some apps make use of a special effects. One method of generating special effects is using a particle system. A particle system is a system that generates a group of particles over time using a particle generator. Particle systems are great for producing effects such as fireworks, sparkles, fire and smoke trails etc..

In XOML a particle actor is declared using the ActorParticles tag. The ActorParticles example has been provided to show how they work. Lets take a quick look at some example XOML:

<ActorParticles Name="SnowyParticles" Image="Particle" Position="0, 0" Scale="1.0" Depth="1.0" Layer="1" PosMode="random" AngVelMode="random" VelMode="random" AngMode="random" 
  ScaleMode="random" DepthMode="random" DepthVelMode="random" PositionRange="1000, 1000" AngleRange="0, 360" AngVelRange="-25, 25" ScaleRange="0.25, 0.5" DepthRange="0.1, 2.0" 
  VelRange="-4, 4, -14, 0" ScaleVelRange="0, -0.1" DepthVelRange="-0.03, 0.01">
    <Particle Count="1000" Position="0, 0" VelocityDamping="0.99, 0.99" SrcRect="0, 0, 128, 128" ColourVelocity="0, 0, 0, -2" Duration="3" Repeat="-1" SpawnDelay="0.01" Gravity="15" />
</ActorParticles>

In this example we create a particle actor generator that generates 1000 random spinning / flying particles over time that fall to the ground under the affect of gravity. In addition to the basic actor properties particle actors have a number of new properties, which include:

General

  • Size (x, y) - Size of the particle actor (used to clip the actor)
  • Anchor (topleft or centre) - Sets the draw anchor (topleft causes the actor to be displayed relative to its top-left cornr whilst centre will use the actors centre)

Regeneration Modes

  • PosMode (mode) - Determines how the position property of the particle will be regenerated when the particle comes to the end of its life.
  • AngMode (mode) - Determines how the angle property of the particle will be regenerated when the particle comes to the end of its life.
  • ScaleMode (mode) - Determines how the scale property of the particle will be regenerated when the particle comes to the end of its life.
  • DepthMode (mode) - Determines how the depth property of the particle will be regenerated when the particle comes to the end of its life.
  • VelMode (mode) - Determines how the velocity property of the particle will be regenerated when the particle comes to the end of its life.
  • AngVelMode (mode) - Determines how the angular velocity property of the particle will be regenerated when the particle comes to the end of its life.
  • ScaleVelMode (mode) - Determines how the scale velocity property of the particle will be regenerated when the particle comes to the end of its life.
  • DepthVelMode (mode) - Determines how the depth velocity property of the particle will be regenerated when the particle comes to the end of its life.

The mode parameter can be either:

  • random - The property will be randomly generated
  • normal - The property will not reset back to its original value Random Generation Ranges:

Random Generation Ranges

  • PositionRange (x, y) - Sets the range for which positional coordinates can be randomly generated on the x and y axis. For example, setting a value of 50, 100 will generate random coordinates between -50 and 50 for the x axis as well as -100 to 100 for the y axis
  • AngleRange (lower, upper) - Sets the range for which angle values can be generated from lower degrees to upper degrees. For example setting values of 10, 50 will generate random angles between 10 and 50 degrees.
  • ScaleRange (lower, upper) - Sets the range for which scale values can be generated from lower to upper. For example setting values of 0.1, 2.0 will generate random scaling factors between 0.1 and 2.0
  • DepthRange (lower, upper) - Sets the range for which depth values can be generated from lower to upper depth. For example setting values of 0.1, 10.0 will generate random depths between 0.1 and 10.0
  • VelRange (lower x, upper x, lower y, upper y) - Sets the range for which velocity values can be generated from lower x to upper x, lower y to upper y. For example setting values of -1, 1, -2, 2 will generate random velocities between -1 and 1 on the x axis and -2 and 2 on the y axis
  • AngVelRange - (lower, upper) - Sets the range for which angular velocity values can be generated from lower degrees/sec to upper degrees/sec. For example setting values of -0.1, 0.1 will generate random angular velocities between -0.1 and 0.1
  • ScaleVelRange (lower, upper) - Sets the range for which scale velocity values can be generated from lower to upper. For example setting values of 0.1, 0.2 will generate random scale velocities between 0.1 and 0.2
  • DepthVelRange (lower, upper) - Sets the range for which depth velocity values can be generated from lower to upper. For example setting values of -0.01, 0.02 will generate random depth velocities between -0.01 and 0.02

Random generators are used when particular modes are set to random. For example, when PosMode=”random” PositionRange will be used to provide the range between which positional coordinates are generated.

Individual particles are added as children of the particle actor. In addition, a number of particles can be automatically generated for you. The inner Particle tag has the following properties:

  • Attached (boolean) – When set to true particles will be attached to the emitter and will follow it, when set to false particles will remain where they are created (default is true)
  • Count (number) - The number of particles to generate
  • Position (x, y) - The position of the particle relative to the generator
  • Angle (degrees) - The angle of the particle
  • Scale (x, y) - The scale of the particle
  • Depth (depth) - The depth of the particle, the greater the value of depth the farther away the actor appears
  • Velocity (x, y) - Initial velocity of the particle
  • Colour (r, g, b, a) - Initial colour and opacity of the particle
  • VelocityDamping (x, y) - The rate at which to slow velocity down or speed it up. Values greater than 1 will increase velocity over time whilst values less than 1.0 will reduce the velocity over time • AngularVelocity (number) - Initial angular velocity of the particle (degrees / sec)
  • AngularVelocityDamping (number) - The rate at which to slow angular velocity down or speed it up. Values greater than 1 will increase angular velocity over time whilst values less than 1.0 will reduce the angular velocity over time
  • DepthVelocity (number) - Initial depth velocity of the particle
  • DepthVelocityDamping (number) - The rate at which to slow depth velocity down or speed it up. Values greater than 1 will increase depth velocity over time whilst values less than 1.0 will reduce the depth velocity over time
  • ScaleVelocity (x, y) - Initial scale velocity of the particle
  • ScaleVelocityDamping (x, y) - The rate at which to slow scale velocity down or speed it up. Values greater than 1 will increase scale velocity over time whilst values less than 1.0 will reduce the scale velocity over time
  • ColourVelocity (r, g, b, a) - Initial colour velocity of the particle
  • ColourVelocityDamping (r, g, b, a) - The rate at which to slow colour velocity down or speed it up. Values greater than 1 will increase colour velocity over time whilst values less than 1.0 will reduce the colour velocity over time
  • SrcRect (x, y, width, height) - Sets a part of the image to draw instead of the whole image (used in sprite atlases where multiple images are contained within the same image)
  • Repeat (number) - The number of times to repeat a particle (can be thought of its number of lives). Particles that run out of lives will be removed from the generator. Using a value of -1 will regenerate the particle whilst the generator is active
  • SpawnDelay (seconds) - Sets an amount of time to wait before spawning this particle. If count is more than 1 then then the spawn delay of each consecutive particle will be compounded. For example if you generate 3 particles with a spawn delay of 1.0 then the first particle will be generated after 1 second, the secnod particle after 2 seconds and the 3rd particle after seconds.
  • Duration (seconds) - This represents the life time of the particle. For example, if you set the duration to 5 seconds, it will be regenerated after 5 seconds (deleted if repeat is 1)
  • Gravity (number) - The gravity property is used to add a gravitational affect to particles.

Member Enumeration Documentation

Enumerator:
PAM_Normal 
PAM_Random 

Constructor & Destructor Documentation

virtual CzActorParticles::~CzActorParticles ( ) [inline, virtual]

Member Function Documentation

bool CzActorParticles::_setAngleRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setAngMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setAngVelMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setAngVelRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setAutoDelete ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setDepthMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setDepthRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setDepthVelMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setDepthVelRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setImage ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setPositionRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setPosMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setScaleMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setScaleRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setScaleVelMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setScaleVelRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setSize ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setVelMode ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setVelocityAll ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::_setVelRange ( IzXomlResource target,
const CzXomlProperty prop,
bool  add 
) [static]
bool CzActorParticles::addParticle ( CzActorParticle particle,
const CzIRect src_rect,
int  count = 0,
float  spawn_delay = 0.0f,
CzSprite::eAnchor  anchor = CzSprite::Centre 
)

Adds particles to the particle system.

Parameters:
[in,out]particleIf non-null, the particles list.
src_rectBitmap source rectangle.
countNumber of particles.
spawn_delayThe spawn delay.
Returns:
true if it succeeds, false if it fails.
void CzActorParticles::GenerateRandomParticles ( int  count,
const CzIRect src_rect,
const CzVec4 colour,
const CzVec4 colour_velocity,
CzVec2 gravity,
float  duration,
int  repeat_count = 0,
float  spawn_delay_change = 0 
)

Generates a number of random particles.

Parameters:
countNumber of particles to generate.
src_rectBitmap source rectangle.
colourThe colour.
colour_velocityThe colour velocity.
gravityThe gravity to apply to the particle.
durationLifespan of particle ni seconds.
repeat_countNumber of times to repeat the particle respawn.
spawn_delay_changeThe spawn delay change in seconds.
void CzActorParticles::GenerateRandomParticles ( int  count,
CzActorParticle particle,
const CzIRect src_rect,
float  duration,
int  repeat_count = 0,
float  spawn_delay_change = 0 
)

Generates a number of random particles based on an existing particle.

Parameters:
countNumber of particles.
[in]particleIf non-null, the particle to copy.
src_rectBitmap source rectangle.
durationLifespan of particle ni seconds.
repeat_countNumber of times to repeat the particle respawn.
spawn_delay_changeThe spawn delay change in seconds.
spawn_delay_changeThe spawn delay change.

Gets particle at index.

Parameters:
indexZero-based index of the particle.
Returns:
null if it fails, else the particle.
int CzActorParticles::getParticleCount ( ) const [inline]
bool CzActorParticles::getProperty ( unsigned int  property_name,
CzXomlProperty prop 
) [virtual]

Gets the named property of the actor.

Returns the named property of the actor. The properties value is returned in a CzXomlProperty which is a structure that contains a union of all possible property types. Note that as CzActorParticles is derived from CzActor, all CzActor properties will also be checked against.

Parameters:
property_nameName of the property.
[out]propThe property data that.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActor.

bool CzActorParticles::Init ( int  max_particles)

Initialises the particle system actor.

Parameters:
max_particlesThe maximum particles the system can hold.
Returns:
true if it succeeds, false if it fails.
void CzActorParticles::InitClass ( ) [static]

Initialises the class.

Sets up the classes avaiiable properties. Used by the XOML system to find, set amd get class properties.

Reimplemented from CzActor.

bool CzActorParticles::isAutoDelete ( ) const [inline]
int CzActorParticles::LoadFromXoml ( IzXomlResource parent,
bool  load_children,
CzXmlNode node 
) [virtual]

Creates an instance of this class from XML.

LoadFromXoml is the main method used by all classes that can be instantiated from XOML mark-up. This method creates an instance of this class from the supplied XML node structure specified by node. if parent is not NULL then the created instance will utilise the supplied parent to determine where it should live within the app. For example, if the parent is a scene then the actor will be placed in that scene. if the parent is another actor then this actor will be placed into the scene of the supplied actor and linked as a child to the parent actor. If load_chlldren is true then any child nodes contained within the actor will also be loaded. Note that as CzActorParticles is derived from CzActor, CzActor::LoadFromXoml() will also be called to load CzActor specific properties.

Parameters:
[in]parentIf non-null, the parent.
load_childrentrue to load child nodes.
[in]nodeIf non-null, the XOML markup node that defines this object
Returns:
negative value for error. if 0 then processing of further XOML will stop.

Reimplemented from CzActor.

Regenerates a particle.

Parameters:
[out]particleIf non-null, the particle.
void CzActorParticles::ReleaseClass ( ) [static]

Reimplemented from CzActor.

void CzActorParticles::removeParticle ( CzActorParticle particle) [inline]
void CzActorParticles::setAngleRange ( CzVec2 range) [inline]
void CzActorParticles::setAngVelocityRange ( CzVec2 range) [inline]
void CzActorParticles::setAutoDelete ( bool  enable) [inline]
void CzActorParticles::setDepthRange ( CzVec2 range) [inline]
void CzActorParticles::setDepthVelocityRange ( CzVec2 range) [inline]
void CzActorParticles::SetDestSize ( int  w,
int  h 
) [inline]
void CzActorParticles::setImage ( CzImage image) [inline]
void CzActorParticles::setParticlesVisibility ( bool  visible) [protected]

Sets particles visibility.

Parameters:
visibletrue to show, false to hide.
void CzActorParticles::setPositionRange ( CzVec2 range) [inline]
bool CzActorParticles::setProperty ( unsigned int  property_name,
const CzXomlProperty data,
bool  delta 
) [virtual]

Sets the named property of the ActorParticles.

Sets the named property of this ActorParticles. The properties value supplied will be converted. If delta is set to true then the existing value of the property will be added to instead of replaced.

Parameters:
property_nameName of the property as a string hash (faster searching).
[in]dataThe property data.
deltatrue if property should be added to instead of replaced.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActor.

bool CzActorParticles::setProperty ( unsigned int  property_name,
const CzString data,
bool  delta 
) [virtual]

Sets the named property of the actor.

Sets the named property of this actor. The properties value (data) is supplied as a string and will be converted. If delta is set to true then the existing value of the property will be added to instead of replaced. Note that as CzActorParticles is derived from CzActor, all CzActor properties will also be checked against.

Parameters:
property_nameName of the property as a string hash (faster searching).
[in]dataThe property data.
deltatrue to property should be added to instead of replaced.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActor.

void CzActorParticles::setScaleRange ( CzVec2 range) [inline]
void CzActorParticles::setScaleVelocityRange ( CzVec2 range) [inline]
void CzActorParticles::setVelocityAll ( float  x,
float  y,
bool  delta 
)

Sets the velocity of all particles to the given velocity.

Parameters:
xThe x velcoity in scene coordinates.
yThe y velcoity in scene coordinates.
deltaIf true then the velocity will be added to all particles
void CzActorParticles::setVelocityRange ( CzVec4 range) [inline]
bool CzActorParticles::Update ( float  dt) [virtual]

Updates the particle system actor.

Parameters:
dtThe number of seconds since the app was last updated
Returns:
true if it succeeds, false if it fails.

Reimplemented from CzActor.

bool CzActorParticles::UpdateBinding ( unsigned int  property_name,
CzXomlVariable var 
) [protected, virtual]

Updates an actor property from the supplied XOML variable.

Updates a single property from the value of the bound XOML variable. Note that as CzActorParticles is derived from CzActor, all CzActor properties will also be checked against.

Parameters:
property_nameName of the property.
[in,out]varIf non-null, the variable.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActor.

bool CzActorParticles::UpdateFromAnimation ( CzAnimInstance animation) [virtual]

Updates actor property from supplied animation.

Updates the actors property that is specified by the supplied animation. When a timeline animation targets the property of an actor this method will be called by the animation to move the animations frame data into its target property. Note that as CzActorParticles is derived from CzActor, all CzActor properties will also be checked against.

Parameters:
[in]animationIf non-null, the animation.
Returns:
true if it succeeds, false if property does not exist.

Reimplemented from CzActor.

bool CzActorParticles::UpdateVisual ( ) [virtual]

Updates the actors visuals.

The particle system actor contains a collection of particles which each has its own visual. This method updates all particle visuals as well as the particle system actor itself.

Returns:
true if it succeeds, false if it fails.

Reimplemented from CzActor.


Member Data Documentation

Mode of operatiuon for angle.

Range of spawn angles - x = min angle, y = max angle.

Mode of operatiuon for angular velocity.

Range of angular velocities - x = min ang velocity, y = max ang velocity.

bool CzActorParticles::AutoDelete [protected]

Wehn set to true the actor will be automatically deleted when the particle system finishes running.

Mode of operatiuon for depth.

Range of depth - x = min depth, y = max depth.

Mode of operatiuon for depth velocity.

Range of depth velocities - x = min depth velocity, y = max depth velocity.

Image used by the particles.

Particles in this system.

Mode of operatiuon for position.

Range of spawn positions.

Mode of operatiuon for scale.

Range of scales - x = min scale, y = max scale.

Mode of operatiuon for scale velocity.

Range of scale velocities - x = min scale velocity, y = max scale velocity.

Mode of operatiuon for velocity.

Range of spawn velocities - min_x, max_y, min_y, max_y.


The documentation for this class was generated from the following files: