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
Tactics3DMegaRL.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2015 Dylan Blair
3 //
4 // email: dblair@alumni.cs.utexas.edu
5 //
6 // This file is part of Tactics3D.
7 //
8 // Tactics3D is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // Tactics3D is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 
23 #ifndef TACTICS3DMEGARL_H
24 #define TACTICS3DMEGARL_H
25 
26 #include "Tactics3DInventory.h"
27 
28 #include "../Libs/Graphics_LIB/GUtils.h"
29 
30 namespace Tactics3D {
31  class MegaRL : public OpenSkyNet::Core::ABCObject, public IWeapon {
32  Ogre::ParticleSystem* _particleFX;
33  Ogre::SceneNode* _particleFXNode;
34  public:
35  MegaRL(OpenSkyNet::Core::Object* owner_, int damage_, float minSpread_, float maxSpread_, float spreadPerShot_);
36 
37  virtual ~MegaRL();
38 
42  virtual void getPos(OpenSkyNet::Math::Point<>& pos_) const {}
43  virtual void setPos(const OpenSkyNet::Math::Point<>& pos_) {}
44 
46  virtual void getRot(OpenSkyNet::Math::Matrix3x3& rot_) const {}
47  virtual void setRot(const OpenSkyNet::Math::Matrix3x3& rot_) {}
49 
52  virtual void setVisible(bool isVisible_) { if (_particleFXNode) _particleFXNode->setVisible(isVisible_); }
54 
57  virtual void calcSpread();
58  virtual bool fire(OpenSkyNet::CD::HitInfo& hitInfo_, OpenSkyNet::Core::Object* intendedTarget_, Action* action_);
60  };
61 }
62 
63 #endif //TACTICS3DMEGARL_H
Definition: Tactics3DAction.h:40
Definition: CDVolume.h:36
virtual void getPos(OpenSkyNet::Math::Point<> &pos_) const
Definition: Tactics3DMegaRL.h:42
virtual ~MegaRL()
Definition: Tactics3DMegaRL.cpp:40
Definition: Tactics3DInventory.h:50
const Matrix3x3 g_identityMatrix3x3
Definition: MMatrix3x3.cpp:5
MegaRL(OpenSkyNet::Core::Object *owner_, int damage_, float minSpread_, float maxSpread_, float spreadPerShot_)
Definition: Tactics3DMegaRL.cpp:18
virtual bool fire(OpenSkyNet::CD::HitInfo &hitInfo_, OpenSkyNet::Core::Object *intendedTarget_, Action *action_)
Definition: Tactics3DMegaRL.cpp:52
const Point g_origin
Definition: MPoint.cpp:5
virtual void setVisible(bool isVisible_)
Definition: Tactics3DMegaRL.h:52
virtual void getRot(OpenSkyNet::Math::Matrix3x3 &rot_) const
Definition: Tactics3DMegaRL.h:46
virtual void setRot(const OpenSkyNet::Math::Matrix3x3 &rot_)
Definition: Tactics3DMegaRL.h:47
virtual void calcSpread()
Definition: Tactics3DMegaRL.cpp:50
Definition: MPoint.h:33
Definition: IObject.h:36
Definition: IObject.h:75
Definition: Tactics3DMegaRL.h:31
virtual OpenSkyNet::Math::Point getPos() const
Definition: Tactics3DMegaRL.h:41
virtual void setPos(const OpenSkyNet::Math::Point<> &pos_)
Definition: Tactics3DMegaRL.h:43
Definition: MMatrix3x3.h:32
float float rot_[3]
Definition: ViewerApp.h:31
virtual OpenSkyNet::Math::Matrix3x3 getRot() const
Definition: Tactics3DMegaRL.h:45
float pos_[3]
Definition: ViewerApp.h:31