本文整理汇总了C++中Inventory::setCredits方法的典型用法代码示例。如果您正苦于以下问题:C++ Inventory::setCredits方法的具体用法?C++ Inventory::setCredits怎么用?C++ Inventory::setCredits使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Inventory
的用法示例。
在下文中一共展示了Inventory::setCredits方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleUIEvent
void PlayerStructure::handleUIEvent(BString strCharacterCash, BString strHarvesterCash, UIWindow* window)
{
PlayerObject* player = window->getOwner();
if(!player)
{
return;
}
switch(window->getWindowType())
{
case SUI_Window_Deposit_Power:
{
strCharacterCash.convert(BSTRType_ANSI);
BString characterPower = strCharacterCash;
strHarvesterCash.convert(BSTRType_ANSI);
BString harvesterPower = strHarvesterCash;
int32 harvesterPowerDelta = atoi(harvesterPower.getAnsi());
gStructureManager->deductPower(player,harvesterPowerDelta);
this->setCurrentPower(getCurrentPower()+harvesterPowerDelta);
gWorldManager->getDatabase()->executeSqlAsync(0,0,"UPDATE %s.structure_attributes SET value='%u' WHERE structure_id=%" PRIu64 " AND attribute_id=384",gWorldManager->getDatabase()->galaxy(),getCurrentPower(),this->getId());
}
break;
case SUI_Window_Pay_Maintenance:
{
strCharacterCash.convert(BSTRType_ANSI);
strHarvesterCash.convert(BSTRType_ANSI);
Bank* bank = dynamic_cast<Bank*>(player->getEquipManager()->getEquippedObject(CreatureEquipSlot_Bank));
Inventory* inventory = dynamic_cast<Inventory*>(player->getEquipManager()->getEquippedObject(CreatureEquipSlot_Inventory));
int32 bankFunds = bank->credits();
int32 inventoryFunds = inventory->getCredits();
int32 funds = inventoryFunds + bankFunds;
int32 characterMoneyDelta = atoi(strCharacterCash.getAnsi()) - funds;
int32 harvesterMoneyDelta = atoi(strHarvesterCash.getAnsi()) - this->getCurrentMaintenance();
// the amount transfered must be greater than zero
if(harvesterMoneyDelta == 0 || characterMoneyDelta == 0)
{
return;
}
//lets get the money from the bank first
if((bankFunds +characterMoneyDelta)< 0)
{
characterMoneyDelta += bankFunds;
bankFunds = 0;
inventoryFunds += characterMoneyDelta;
}
else
{
bankFunds += characterMoneyDelta;
}
if(inventoryFunds < 0)
{
return;
}
int32 maintenance = this->getCurrentMaintenance() + harvesterMoneyDelta;
if(maintenance < 0)
{
return;
}
bank->credits(bankFunds);
inventory->setCredits(inventoryFunds);
gWorldManager->getDatabase()->destroyResult(gWorldManager->getDatabase()->executeSynchSql("UPDATE %s.banks SET credits=%u WHERE id=%" PRIu64 "",gWorldManager->getDatabase()->galaxy(),bank->credits(),bank->getId()));
gWorldManager->getDatabase()->destroyResult(gWorldManager->getDatabase()->executeSynchSql("UPDATE %s.inventories SET credits=%u WHERE id=%" PRIu64 "",gWorldManager->getDatabase()->galaxy(),inventory->getCredits(),inventory->getId()));
//send the appropriate deltas.
gMessageLib->sendInventoryCreditsUpdate(player);
gMessageLib->sendBankCreditsUpdate(player);
//get the structures conditiondamage and see whether it needs repair
uint32 damage = this->getDamage();
if(damage)
{
uint32 cost = this->getRepairCost();
uint32 all = cost*damage;
if(maintenance <= (int32)all)
{
all -= (uint32)maintenance;
damage = (uint32)(all/cost);
maintenance = 0;
}
//.........这里部分代码省略.........
示例2: createNonPersistentNpc
//.........这里部分代码省略.........
npc->setType(ObjType_Creature);
// This will ensure the use of the single H(am) bar.
npc->setCreoGroup(CreoGroup_AttackableObject);
npc->mTypeOptions = 0x0;
npc->togglePvPStateOn((CreaturePvPStatus)(CreaturePvPStatus_Attackable));
// npc->mHam.mHealth.setCurrentHitPoints(5000);
// npc->mHam.mHealth.setMaxHitPoints(5000);
// npc->mHam.mHealth.setBaseHitPoints(5000);
// npc->mHam.calcAllModifiedHitPoints();
// Let's put some credits in the inventory.
// npcInventory->setCredits((gRandom->getRand()%25) + 10);
// gLogger->logMsgF("NonPersistentNpcFactory::createNonPersistentNpc() WOW, I'm a lair", MSG_NORMAL);
}
else if (npc->getNpcFamily() == NpcFamily_AttackableCreatures)
{
// Dynamic spawned pve-enabled creatures.
npc->setType(ObjType_Creature);
npc->setCreoGroup(CreoGroup_Creature);
npc->mTypeOptions = 0x0;
if (gWorldConfig->isTutorial())
{
npc->togglePvPStateOn((CreaturePvPStatus)(CreaturePvPStatus_Attackable + CreaturePvPStatus_Aggressive + CreaturePvPStatus_Enemy ));
}
else
{
npc->togglePvPStateOn((CreaturePvPStatus)(CreaturePvPStatus_Attackable));
}
AttackableCreature* attackableNpc = dynamic_cast<AttackableCreature*>(npc);
assert(attackableNpc && "NonPersistentNpcFactory::createNonPersistent unable to cast npc to AttackableCreature instance");
// Fix this later
// Also set the owner (lair) who's controlling this creature.
attackableNpc->setLairId(controllingObject);
Weapon* defaultWeapon = new Weapon();
defaultWeapon->setId(gWorldManager->getRandomNpId());
defaultWeapon->setParentId(npc->mId);
defaultWeapon->setModelString("object/weapon/melee/unarmed/shared_unarmed_default_player.iff");
defaultWeapon->setGroup(WeaponGroup_Unarmed);
defaultWeapon->setEquipSlotMask(CreatureEquipSlot_Weapon);
defaultWeapon->addInternalAttribute("weapon_group","1");
npc->mEquipManager.setDefaultWeapon(defaultWeapon);
npc->mEquipManager.equipDefaultWeapon();
// Weapon to use should be gotten from attibutes or whereever we find that kind of info.
// This little fellow may need a gun.
Weapon* pistol = new Weapon();
pistol->setId(gWorldManager->getRandomNpId());
pistol->setParentId(npc->mId);
pistol->setModelString("object/weapon/ranged/pistol/shared_pistol_cdef.iff");
pistol->setGroup(WeaponGroup_Pistol);
pistol->setEquipSlotMask(CreatureEquipSlot_Weapon);
pistol->addInternalAttribute("weapon_group","32");
attackableNpc->setPrimaryWeapon(pistol);
// A saber can be handy, too.
Weapon* saber = new Weapon();
saber->setId(gWorldManager->getRandomNpId());
saber->setParentId(npc->mId);
saber->setModelString("object/weapon/melee/sword/shared_sword_lightsaber_vader.iff");
saber->setGroup(WeaponGroup_2h);
saber->setEquipSlotMask(CreatureEquipSlot_Weapon);
saber->addInternalAttribute("weapon_group","4");
attackableNpc->setSecondaryWeapon(saber);
if (gWorldConfig->isTutorial())
{
attackableNpc->equipPrimaryWeapon();
}
else
{
// attackableNpc->equipSecondaryWeapon();
}
// Should be handle by "loot manager"
// Let's put some credits in the inventory.
npcInventory->setCredits((gRandom->getRand()%25) + 10);
}
else
{
npc->mTypeOptions = 0x108;
}
npc->setLoadState(LoadState_Attributes);
// Save default direction, since player can make the npc change heading.
// Can't apply this to a dynamically created npc.
// npc->storeDefaultDirection();
return npc;
}