ComputerGraphik TU WIEN
|
Implements the tank functionalities. More...
#include <tank.hpp>
Classes | |
class | Gun |
class | Turret |
Public Member Functions | |
Tank (const std::string &name, Scene *scene=0, Model *model=0, const glm::mat4 &modelMatrix=glm::mat4(1)) | |
virtual | ~Tank () |
void | reset () |
bool | animate (double time) |
void | update (double deltaT) |
double | getHP () const |
void | setHP (double val) |
bool | getActive () const |
void | setActive (bool val) |
glm::mat4 | getShootOrigin () const |
Public Member Functions inherited from SceneObject | |
SceneObject (std::shared_ptr< SceneObject > &effectParent, const glm::mat4 &modelMatrix=glm::mat4(1)) | |
SceneObject (const std::string &name, Scene *scene=0, Model *model=0, const glm::mat4 &modelMatrix=glm::mat4(1)) | |
virtual | ~SceneObject () |
Model * | getModel () const |
Shader * | getShader () const |
glm::mat4 | getModelMatrix () const |
glm::mat4 | getGlobalModelMatrix () const |
std::string | getName () const |
std::shared_ptr< SceneObject > | getParent () const |
void | setAnimationTime (double time) |
bool | setAnimation (const Animation &anim) |
bool | delChild (size_t idx) |
bool | getChild (size_t idx, std::shared_ptr< SceneObject > &child) const |
bool | addChild (std::shared_ptr< SceneObject > &child) |
bool | remEffect (const std::string &name) |
SceneObject * | getEffect (const std::string &name) const |
bool | addEffect (const std::string &name, std::unique_ptr< SceneObject > &effect) |
bool | doNotRender () |
bool | getIsVolSun () |
virtual void | draw () const |
virtual void | setShader (Shader *val) |
Private Attributes | |
double | hp |
bool | active |
double | lastCPU |
double | lastGPU |
std::shared_ptr< SceneObject > | gun |
std::shared_ptr< SceneObject > | turret |
std::shared_ptr< SceneObject > | trackL |
std::shared_ptr< SceneObject > | trackR |
std::shared_ptr< SceneObject > | shootOrigin |
std::shared_ptr< GameLogic > | gameLogic |
std::shared_ptr< ParticleSystemCPU > | psCPU |
std::shared_ptr< ParticleSystemGPU > | psGPU |
Additional Inherited Members | |
Public Types inherited from SceneObject | |
typedef std::vector< std::pair< double, glm::mat4 > > | Animation |
Protected Attributes inherited from SceneObject | |
GLuint | vao |
Scene * | scene |
Model * | model |
Shader * | shader |
glm::mat4 | modelMatrix |
std::string | name |
std::weak_ptr< SceneObject > | parent |
std::vector< std::shared_ptr< SceneObject > > | childs |
std::map< std::string, std::unique_ptr< SceneObject > > | effectChilds |
size_t | animIDX |
Animation | animation |
bool | norender |
bool | isVolSun |
Implements the tank functionalities.
The Tank class
Tank::Tank | ( | const std::string & | name, |
Scene * | scene = 0 , |
||
Model * | model = 0 , |
||
const glm::mat4 & | modelMatrix = glm::mat4(1) |
||
) |
|
virtual |
|
virtual |
Reimplemented from SceneObject.
|
inline |
|
inline |
glm::mat4 Tank::getShootOrigin | ( | ) | const |
|
virtual |
Reimplemented from SceneObject.
|
inline |
|
inline |
|
virtual |
Reimplemented from SceneObject.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |