本文整理汇总了C++中Weapon::getType方法的典型用法代码示例。如果您正苦于以下问题:C++ Weapon::getType方法的具体用法?C++ Weapon::getType怎么用?C++ Weapon::getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Weapon
的用法示例。
在下文中一共展示了Weapon::getType方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setWeapon
//------------------------------------------------------------------------------
void Player::setWeapon( const Weapon& iW )
{
int i = getWeaponIndex( iW.getType() );
if( i != -1 )
{ mWeaponBag[i] = iW; }
else
{ mWeaponBag.push_back(iW); }
mWeapon = iW;
}
示例2: addWeaponToBag
//------------------------------------------------------------------------------
void Player::addWeaponToBag( const Weapon& iW)
{
int i = getWeaponIndex( iW.getType() );
if( i != -1 )
{
// mWeaponBag[i].setNumberOfAmmo = mWeaponBag[i].getNumberOfAmmo() +
// iW.getNumberOfAmmo();
}
else{ mWeaponBag.push_back( iW ); }
}
示例3: leftPressed
/**
* When the button is left Pressed
*/
void WeaponBackpackItem::leftPressed(void)
{
ASSERT(mOwner);
ASSERT(mUserDef);
// if the actual weapon of the player is this weapon, we do nothing
if(mOwner->getActualWeapon() == mUserDef){
// the same weapon, do nothing
return;
}
// else set the actual weapon
Weapon *w = static_cast<Weapon *>(mUserDef);
mOwner->setWeapon(w->getType());
}
示例4: onMessage
bool AttackState::onMessage(Character* agent, const Telegram& msg)
{
switch (msg.msg) {
case Msg_AttackedByWeapon:{//被玩家的武器攻击到
log("Character::Msg_AttackedByWeapon");
Weapon *weapon = (Weapon*)GameEntityManager::getInstance()->getEntityFromID(msg.sender);
agent->takeDamage(weapon->getDamage());
if (agent->getLife() <= 0) {
agent->die();
return false;
}
switch (weapon->getType()) {
case WeaponTypeKnife:{
Knife *knife = (Knife*)weapon;
KnifeAttackDirection direction = *(KnifeAttackDirection*)msg.extraInfo;
if (knife->isXuliStateDamage()) {
if (direction == KnifeAttackDirectionUp) {
agent->flowup();
}else if (direction == KnifeAttackDirectionDown) {
agent->falldown();
}else if (direction == KnifeAttackDirectionRight) {
agent->rollback();
}else{
agent->stiff();
}
}else{
agent->stiff();
}
}
break;
case WeaponTypePistol:
agent->stiff();
break;
default:
break;
}
}
break;
default:
break;
}
return false;
}
示例5: enter
// Enter the state
void PlayerReloadingState::enter(PlayerUnit *ref)
{
ASSERT(ref->getActualWeapon());
Weapon *w = ref->getActualWeapon();
// depending of the weapon, we will get the animation
switch(w->getType()){
case Weapon::W_SHORT:
ref->changeAnimation(PlayerUnit::ANIM_RELOAD_SHORT);
break;
case Weapon::W_LONG:
ref->changeAnimation(PlayerUnit::ANIM_RELOAD_LONG);
break;
default:
ASSERT(false);
}
ASSERT(w->getAmmunition() > 0);
}
示例6:
void HumanA::setWeapon(Weapon type)
{
this->weapon.setType(type.getType());
}
示例7: hit
Uint16 Erik::hit(Uint16 dir, Weapon& weap) {
if (weap.getType()==W_WATER) {
cancelEvent();
return health;
} else return Player::hit(dir,weap);
}