Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OgrePathEmitter.h
Go to the documentation of this file.
1 // Copyright (C) 2006 Dylan Blair
3 //
4 // email: dblair@alumni.cs.utexas.edu
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 
21 #ifndef OGRE_PATH_EMITTER_H
22 #define OGRE_PATH_EMITTER_H
23 
24 #include "OgrePathAffector.h"
25 
26 #include <OgreParticleEmitter.h>
27 #include <OgreParticleEmitterFactory.h>
28 
29 namespace Ogre {
31  class _OgreParticleFXExport PathEmitter : public ParticleEmitter {
32  PathAffector* _pathAffector;
33  public:
34  PathEmitter(ParticleSystem* psys);
35 
37  void _initParticle(Particle* pParticle);
38 
40  unsigned short _getEmissionCount(Real timeElapsed);
41 
42  inline void setPathAffector(PathAffector* pathAffector_) { _pathAffector = pathAffector_; }
43  };
44 
45  class _OgreParticleFXExport PathEmitterFactory : public ParticleEmitterFactory {
46  public:
48  String getName() const { return "Path"; }
49 
51  ParticleEmitter* createEmitter(ParticleSystem* psys) {
52  ParticleEmitter* emit = new PathEmitter(psys);
53  mEmitters.push_back(emit);
54  return emit;
55  }
56  };
57 }
58 
59 #endif //OGRE_PATH_EMITTER_H
Definition: OgrePathEmitter.h:31
void setPathAffector(PathAffector *pathAffector_)
Definition: OgrePathEmitter.h:42
#define _OgreParticleFXExport
Definition: OgreParticlePluginPrerequisites.h:53
Definition: OgrePathEmitter.h:45
ParticleEmitter * createEmitter(ParticleSystem *psys)
Definition: OgrePathEmitter.h:51
String getName() const
Definition: OgrePathEmitter.h:48
Definition: OgrePathAffector.h:40