55 XmlNodeConstPtrConst root = doc.
rootNode();
57 if ((root ==
nullptr) ||
58 !xmlNameEqual(root,
"being-effects"))
66 if (xmlNameEqual(node,
"include"))
73 else if (xmlNameEqual(node,
"effect"))
116 return trigger(
id, being, rotation);
123 if ((being ==
nullptr) || (
particleEngine ==
nullptr) ||
id == -1)
134 if (!effect.
gfx.empty())
137 effect.
gfx, 0, 0, rotation);
140 if (!effect.
sfx.empty())
142 if (!effect.
sprite.empty())
156 if ((being ==
nullptr) || (
particleEngine ==
nullptr) ||
id == -1)
165 if (!effect.
gfx.empty())
168 effect.
gfx, 0, 0, rotation);
171 if (!effect.
sfx.empty())
173 if (!effect.
sprite.empty())
183 const int x,
const int y,
184 const time_t endTime,
197 if (!effect.
gfx.empty())
203 if (particle !=
nullptr)
206 if (!effect.
sfx.empty())
217 const int defaultEffectId)
220 effectId = defaultEffectId;
229 const time_t endTime,
230 const int defaultEffectId)
233 effectId = defaultEffectId;
253 if (particle !=
nullptr)
266 Particle *
const particle = (*it).particle;
267 if (particle !=
nullptr)
#define loadXmlDir(name, function)
#define reportAlways(...)
void controlCustomParticle(Particle *const particle)
void controlAutoParticle(Particle *const particle)
void addEffect(const std::string &name)
std::string getStringValue(const std::string &key) const
Particle * triggerReturn(const int id, Being *const being, const int rotation)
std::list< ParticleTimer > mTimers
void loadXmlFile(const std::string &fileName, const SkipError skipError)
bool triggerDirection(const int id, Being *const being, const SpriteDirection::Type &direction)
bool trigger(const int id, Being *const being, const int rotation)
void triggerDefault(int effectId, Being *const being, const int defaultEffectId)
std::vector< EffectDescription > mEffects
void log(const char *const log_text,...)
void log1(const char *const log_text)
Particle * addEffect(const std::string &particleEffectFile, const int pixelX, const int pixelY, const int rotation)
void playSfx(const std::string &path, const int x, const int y) const
EffectManager * effectManager
#define FOR_EACH(type, iter, array)
#define for_each_xml_child_node(var, parent)
int getProperty(const xmlNodePtr node, const char *const name, int def)
ParticleEngine * particleEngine
#define BLOCK_START(name)
const bool SkipError_false
const bool SkipError_true
SoundManager soundManager
const bool UseVirtFs_true