Beispiel #1
0
void TattooEngine::loadInventory() {
	Inventory &inv = *_inventory;

	Common::String inv1 = _fixedText->getText(kFixedText_Inv1);
	Common::String inv2 = _fixedText->getText(kFixedText_Inv2);
	Common::String inv3 = _fixedText->getText(kFixedText_Inv3);
	Common::String inv4 = _fixedText->getText(kFixedText_Inv4);
	Common::String inv5 = _fixedText->getText(kFixedText_Inv5);
	Common::String inv6 = _fixedText->getText(kFixedText_Inv6);
	Common::String inv7 = _fixedText->getText(kFixedText_Inv7);
	Common::String inv8 = _fixedText->getText(kFixedText_Inv8);
	Common::String invDesc1 = _fixedText->getText(kFixedText_InvDesc1);
	Common::String invDesc2 = _fixedText->getText(kFixedText_InvDesc2);
	Common::String invDesc3 = _fixedText->getText(kFixedText_InvDesc3);
	Common::String invDesc4 = _fixedText->getText(kFixedText_InvDesc4);
	Common::String invDesc5 = _fixedText->getText(kFixedText_InvDesc5);
	Common::String invDesc6 = _fixedText->getText(kFixedText_InvDesc6);
	Common::String invDesc7 = _fixedText->getText(kFixedText_InvDesc7);
	Common::String invDesc8 = _fixedText->getText(kFixedText_InvDesc8);
	Common::String solve = _fixedText->getText(kFixedText_Solve);

	// Initial inventory
	inv._holdings = 5;
	inv.push_back(InventoryItem(0, inv1, invDesc1, "_ITEM01A"));
	inv.push_back(InventoryItem(0, inv2, invDesc2, "_ITEM02A"));
	inv.push_back(InventoryItem(0, inv3, invDesc3, "_ITEM03A"));
	inv.push_back(InventoryItem(0, inv4, invDesc4, "_ITEM04A"));
	inv.push_back(InventoryItem(0, inv5, invDesc5, "_ITEM05A"));

	// Hidden items
	inv.push_back(InventoryItem(295, inv6, invDesc6, "_PAP212D", solve));
	inv.push_back(InventoryItem(294, inv7, invDesc7, "_PAP212I"));
	inv.push_back(InventoryItem(818, inv8, invDesc8, "_LANT02I"));
}
Inventory::Inventory()
  : impl(new InventoryImpl())
{
  impl->slot = Sprite("images/inventory/slot.sprite");
  impl->slothighlight = Sprite("images/inventory/slothighlight.sprite");
  impl->moving = false;
  impl->add_angle = 0.0f;
  impl->current_item = 0;

  impl->items.push_back(InventoryItem("Flashlight",  "images/inventory/flashlight.sprite"));
  impl->items.push_back(InventoryItem("Stone",       "images/inventory/stone.sprite"));
  impl->items.push_back(InventoryItem("PDA",         "images/inventory/pda.sprite"));
  impl->items.push_back(InventoryItem("5x Granates", "images/inventory/granate.sprite"));
  impl->items.push_back(InventoryItem("Lv1 Keycard", "images/inventory/keycard.sprite"));
}
Beispiel #3
0
void Game::onTimeElapsed() {
	Inventory inventory;
	inventory.addItem(InventoryItem(SWAP_BONUS_IDENTIFIER, swapRemaining));
	inventory.addItem(InventoryItem(CHANGE_BONUS_IDENTIFIER, changeRemaining));
	inventory.addItem(InventoryItem(REMOVE_BONUS_IDENTIFIER, removeRemaining));
	gameSpice->updateInventory(inventory);
	auto gameSpice = GameSpice::getInstance();
	gameSpice->addFund(Fund(score), [&] (Fund f) {});
	gameSpice->getHighScore(GAMESPICE_LEADERBOARD_ID, [&] (HighScore s) {
		submitScore();
		int oldScore = s.getScore();
		bool isNewHighScore = score > oldScore;
		auto scene = isNewHighScore ? NewHighScore::scene() : GameOver::scene();
		GameManager::sharedGameManager()->runScene(scene);
	});
}
void Inventory::Give( const InventoryItemDef *def, float quantity )
{
	for (unsigned int i=0; i<m_items.size(); i++)
	{
		if ( m_items[i].def == def )
		{
			m_items[i].quantity += quantity;
			break;
		}
	}
	m_items.push_back( InventoryItem() );
	m_items.back().def = def;
	m_items.back().quantity = quantity;
}