void FVAnimation::initAttributes() { FVObject * fo; double start = 1e10, end=-1e10, step=1e10; Field * f; QString sFields(""); std::list< BoxBox *> children = manager->childrenOfBoxObj( (BoxBox*) this ); std::list< BoxBox *>::iterator it; for (it = children.begin(); it != children.end(); it++) { fo = (FVObject*) (*it); f = reqField.getField( fo ); if (f != 0) { sFields = sFields + f->getAttr("name").c_str() + " "; if ( f->isDynamic() ) { if (start > f->getMinTime()) start = f->getMinTime(); if (end < f->getMaxTime()) end = f->getMaxTime(); if (step > f->getTimeStep()) step = f->getTimeStep(); } else { start = end = step = 0; break; } } else { qWarning() << "Unable to read field parameters. Field * f = 0."; } } setAttrValue( tr("Name"), sFields); sName = sFields; setAttrValue( tr("Start Time:"), QString("%1").arg( start ) ); setAttrValue( tr("End Time:"), QString("%1").arg( end ) ); setAttrValue( tr("Time Step:"), QString("%1").arg( step ) ); setAttrValue( tr("Current Time:"), QString("%1").arg( start ) ); Attr * a = getAttr( tr("Current Time:") ); if (a != 0) { if (start <= end) { a->addListItem( QString("%1").arg( start ) ); } else for (double v = start; v <= end; v += step) { a->addListItem( QString("%1").arg( v ) ); } } }
void FVAnimation::slotTimer( ) { double v = getAttrValue( tr("Current Time:") ).toDouble(); double st = getAttrValue( tr("Time Step:") ).toDouble(); v += st; setAttrValue( tr("Current Time:") , QString("%1").arg( v )); updateAttributes(); }
int KCharacterAttr::downHP(int hp) { int curHP = this->getAttrValue(KAttributeAbout::ca_hp); if(hp >= curHP) { setAttrValue(KAttributeAbout::ca_hp, 0); return 0; } else { this->setAttrValue(KAttributeAbout::ca_hp,curHP-hp); return curHP-hp; } }
void FVBoxField::update( ) { sName = field->getAttr("name").c_str(); setAttrValue( QString("Name"), field->getAttr("name").c_str()); }
void KCharacterAttr::setMoveSpeed( float moveSpeed ) { int speed = (int)moveSpeed*100; setAttrValue(KAttributeAbout::ca_moveSpeed,speed,false); }
void KCharacterAttr::setAttackSpeed(float attackSpeed) { int speed = (int)attackSpeed*100; setAttrValue(KAttributeAbout::ca_attackSpeed,speed,false); }
void KCharacterAttr::setDead() { setAttrValue(KAttributeAbout::ca_hp,0); }
bool KCharacterAttr::readPacket( KMsgInputStream& msg ,bool first) { DWORD mask=0; DWORD dwValue=0; float fValue=0; msg.ReadDword(mask); if(mask&KCharacterAttr::HP) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_hp,dwValue,first); updateMask(KCharacterAttr::HP); } if(mask&KCharacterAttr::MP) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_mp,dwValue,first); updateMask(KCharacterAttr::MP); } if(mask&KCharacterAttr::STR_DEF) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_strDef,dwValue,first); updateMask(KCharacterAttr::STR_DEF); } if(mask&KCharacterAttr::STR_ATTACK) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_strAttack,dwValue,first); updateMask(KCharacterAttr::STR_ATTACK); } if(mask&KCharacterAttr::MAG) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_mag,dwValue,first); updateMask(KCharacterAttr::MAG); } if(mask&KCharacterAttr::MAG_DEF) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_magDef,dwValue,first); updateMask(KCharacterAttr::MAG_DEF); } if(mask&KCharacterAttr::MAG_ATTACK) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_magAttack,dwValue,first); updateMask(KCharacterAttr::MAG_ATTACK); } if(mask&KCharacterAttr::MOVE_SPEED) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_moveSpeed,(int)fValue*100,first); updateMask(KCharacterAttr::MOVE_SPEED); } if(mask&KCharacterAttr::ATTACK_SPEED) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_attackSpeed,(int)fValue*100,first); updateMask(KCharacterAttr::ATTACK_SPEED); } if(mask&KCharacterAttr::ATTACK_RANG) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_attackRange,(int)fValue*100,first); updateMask(KCharacterAttr::ATTACK_RANG); } if(mask&KCharacterAttr::HIT) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_hit,(int)fValue*100,first); updateMask(KCharacterAttr::HIT); } if(mask&KCharacterAttr::BASE_HIT) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_baseHit,(int)fValue*100,first); updateMask(KCharacterAttr::BASE_HIT); } if(mask&KCharacterAttr::MISS) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_miss,(int)fValue*100,first); updateMask(KCharacterAttr::MISS); } if(mask&KCharacterAttr::CRIT) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_crit,(int)fValue*100,first); updateMask(KCharacterAttr::CRIT); } if(mask&KCharacterAttr::CRIT_NUM) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_critNum,(int)fValue*100,first); updateMask(KCharacterAttr::CRIT_NUM); } if(mask&KCharacterAttr::TOUGH) { msg.ReadFloat(fValue); setAttrValue(KAttributeAbout::ca_tough,(int)fValue*100,first); updateMask(KCharacterAttr::TOUGH); } if(mask&KCharacterAttr::MAX_HP) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_maxHP,dwValue,first); updateMask(KCharacterAttr::MAX_HP); } if(mask&KCharacterAttr::MAX_MP) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_maxMP,dwValue,first); updateMask(KCharacterAttr::MAX_MP); } if(mask&KCharacterAttr::DEBUFF_STUN) { msg.ReadDword(dwValue); int oldVal = getAttrValue(KAttributeAbout::ca_Stun); if (oldVal != dwValue) { setAttrValue(KAttributeAbout::ca_Stun,dwValue,first); } updateMask(KCharacterAttr::DEBUFF_STUN); } if(mask&KCharacterAttr::DEBUFF_FIXED) { msg.ReadDword(dwValue); int oldVal = getAttrValue(KAttributeAbout::ca_CanNotMove); if (oldVal != dwValue) { setAttrValue(KAttributeAbout::ca_CanNotMove,dwValue,first); } updateMask(KCharacterAttr::DEBUFF_FIXED); } if(mask&KCharacterAttr::LEVEL) { msg.ReadDword(dwValue); setAttrValue(KAttributeAbout::ca_level,dwValue,first); updateMask(KCharacterAttr::LEVEL); } return true; }
void FVAnimation::slotPlay() { setAttrValue( tr("Play Speed:"), lastPlaySpeed ); updateAttributes(); }
void FVAnimation::slotStop() { setAttrValue( tr("Play Speed:"), tr("Stop") ); updateAttributes(); }
void FVAnimation::slotPause() { lastPlaySpeed = getAttrValue( tr("Play Speed:") ); setAttrValue( tr("Play Speed:"), tr("Stop") ); updateAttributes(); }