Merge pull request #786 from Ventrella/particles

Added member variables to Hand.cpp to manage rave glove mode switching
This commit is contained in:
Philip Rosedale 2013-08-05 19:26:55 -07:00
commit e5de67152e
3 changed files with 26 additions and 13 deletions

View file

@ -2572,7 +2572,7 @@ void Application::update(float deltaTime) {
if (_renderParticleSystemOn->isChecked()) {
updateParticleSystem(deltaTime);
}
}
}
void Application::updateAvatar(float deltaTime) {

View file

@ -42,6 +42,9 @@ void Hand::init() {
else {
_ballColor = glm::vec3(0.0, 0.0, 0.4);
}
_raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_FIRE;
_raveGloveEffectsModeChanged = false;
}
void Hand::reset() {
@ -51,6 +54,11 @@ void Hand::reset() {
void Hand::simulate(float deltaTime, bool isMine) {
if (_isRaveGloveActive) {
if (_raveGloveEffectsModeChanged) {
setRaveGloveMode(_raveGloveEffectsMode);
_raveGloveEffectsModeChanged = false;
}
updateRaveGloveParticles(deltaTime);
}
}
@ -106,18 +114,21 @@ void Hand::calculateGeometry() {
}
void Hand::setRaveGloveEffectsMode(QKeyEvent* event) {
_raveGloveEffectsModeChanged = true;
switch (event->key()) {
case Qt::Key_0: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_THROBBING_COLOR); break;
case Qt::Key_1: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_TRAILS ); break;
case Qt::Key_2: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_FIRE ); break;
case Qt::Key_3: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_WATER ); break;
case Qt::Key_4: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_FLASHY ); break;
case Qt::Key_5: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_BOZO_SPARKLER ); break;
case Qt::Key_6: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_LONG_SPARKLER ); break;
case Qt::Key_7: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_SNAKE ); break;
case Qt::Key_8: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_PULSE ); break;
case Qt::Key_9: setRaveGloveMode(RAVE_GLOVE_EFFECTS_MODE_THROB ); break;
case Qt::Key_0: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_THROBBING_COLOR; break;
case Qt::Key_1: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_TRAILS; break;
case Qt::Key_2: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_FIRE; break;
case Qt::Key_3: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_WATER; break;
case Qt::Key_4: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_FLASHY; break;
case Qt::Key_5: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_BOZO_SPARKLER; break;
case Qt::Key_6: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_LONG_SPARKLER; break;
case Qt::Key_7: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_SNAKE; break;
case Qt::Key_8: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_PULSE; break;
case Qt::Key_9: _raveGloveEffectsMode = RAVE_GLOVE_EFFECTS_MODE_THROB; break;
};
}
@ -349,7 +360,6 @@ void Hand::updateRaveGloveParticles(float deltaTime) {
}
void Hand::setRaveGloveMode(int mode) {
_raveGloveMode = mode;

View file

@ -60,6 +60,8 @@ private:
float _raveGloveClock;
bool _raveGloveInitialized;
int _raveGloveEmitter[NUM_FINGERS];
int _raveGloveEffectsMode;
bool _raveGloveEffectsModeChanged;
Avatar* _owningAvatar;
float _renderAlpha;
@ -72,8 +74,9 @@ private:
void setLeapHands(const std::vector<glm::vec3>& handPositions,
const std::vector<glm::vec3>& handNormals);
void renderRaveGloveStage();
virtual void setRaveGloveMode(int mode);
void renderRaveGloveStage();
void renderLeapHandSpheres();
void renderLeapHands();
void renderLeapHand(PalmData& hand);