/** * This checks the cache for an existing inventory. If it exists it is * returned. Otherwise a new inventory is created. * * @param string $steamId The 64bit Steam ID or vanity URL of the user * @param bool $fetchNow Whether the data should be fetched now * @param bool $bypassCache Whether the cache should be bypassed * @return DotA2BetaInventory The inventory created from the given options */ public static function createInventory($steamId, $fetchNow = true, $bypassCache = false) { return parent::create(self::APP_ID, $steamId, $fetchNow, $bypassCache); }
protected function internalFetch() { $params = ['SteamID' => $this->steamId64]; $result = WebApi::getJSONData("IEconItems_{$this->getAppId()}", 'GetPlayerItems', 1, $params); $this->items = []; $this->preliminaryItems = []; foreach ($result->items as $itemData) { if ($itemData != null) { $inventoryClass = get_called_class(); $itemClass = $inventoryClass::ITEM_CLASS; $item = new $itemClass($this, $itemData); if ($item->isPreliminary()) { $this->preliminaryItems[] = $item; } else { $this->items[$item->getBackpackPosition() - 1] = $item; } } } } /** * Returns the number of items in the user's backpack * * @return int The number of items in the backpack */ public function size() { return sizeof($this->items); } } GameInventory::initialize();