int ClockwGallery::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 10) qt_static_metacall(this, _c, _id, _a); _id -= 10; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = screenOn(); break; case 1: *reinterpret_cast< bool*>(_v) = appearAnimation(); break; case 2: *reinterpret_cast< bool*>(_v) = disappearAnimation(); break; case 3: *reinterpret_cast< bool*>(_v) = moveAnimation(); break; case 4: *reinterpret_cast< bool*>(_v) = rotateAnimation(); break; case 5: *reinterpret_cast< int*>(_v) = spawnTime(); break; case 6: *reinterpret_cast< int*>(_v) = appearTime(); break; case 7: *reinterpret_cast< int*>(_v) = range(); break; } _id -= 8; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setScreenOn(*reinterpret_cast< bool*>(_v)); break; case 1: setAppearAnimation(*reinterpret_cast< bool*>(_v)); break; case 2: setDisappearAnimation(*reinterpret_cast< bool*>(_v)); break; case 3: setMoveAnimation(*reinterpret_cast< bool*>(_v)); break; case 4: setRotateAnimation(*reinterpret_cast< bool*>(_v)); break; case 5: setSpawnTime(*reinterpret_cast< int*>(_v)); break; case 6: setAppearTime(*reinterpret_cast< int*>(_v)); break; case 7: setRange(*reinterpret_cast< int*>(_v)); break; } _id -= 8; } else if (_c == QMetaObject::ResetProperty) { _id -= 8; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 8; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 8; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 8; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 8; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 8; } #endif // QT_NO_PROPERTIES return _id; }
/******************************************************************************** Hero Update ********************************************************************************/ void CPlayerInfo::HeroUpdate(float timeDiff, CAIManager* ai_manager, GameObjectFactory* go_manager, CMap* map, Sound UpdateSound) { if(currentState != DYING) { // Update Hero's info switch(currentState) { case CPlayerInfo::KNOCKED_BACKING: { moving(timeDiff, map); } break; case CPlayerInfo::ATTACKING: { Attacking(timeDiff, ai_manager, go_manager, UpdateSound); } break; default: { Vector3 HeroPrevPos = theHeroPosition; moving(timeDiff, map); if(currentState == MOVING) { moveAnimation(timeDiff, HeroPrevPos); } } break; } if(currentState == NIL) { if(theHeroCurrentPosNode->posType != 0 && theHeroCurrentPosNode->posType < CPosNode::TOTAL_ACTIVE_GO) { if(CheckCollisionCurrent()) { CollisionResponseCurrent(); } } } // Flicker hero when got damaged if(justGotDamged) { if(timeElasped < 1.f) { timeElasped += timeDiff; if(unrenderOrRenderTimeLeft < 0.02f) { unrenderOrRenderTimeLeft += timeDiff; } else { unrenderOrRenderTimeLeft = 0.f; if(RenderHero) { RenderHero = false; } else { RenderHero = true; } } } else { timeElasped = 0.f; unrenderOrRenderTimeLeft = 0.f; justGotDamged = false; RenderHero = true; } } } else { // Death animation if(timeElasped < 2.f) { if(theHeroCurrentPosNode->posType == CPosNode::HOLE) { holeDropScale -= timeDiff; if(holeDropScale < 0.1) holeDropScale = 0.1; } timeElasped += timeDiff; heroAnimationCounter += 20 * timeDiff; if(heroAnimationCounter > 5.0f) heroAnimationCounter = 5.0f; } } }