⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iteminfomanager.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	g_pSerumInfoManager = new SerumInfoManager ();	g_pSerumInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_SERUM] = g_pSerumInfoManager;	Serum::initItemIDRegistry();	//cout << "Serum" << endl;	// initialize VampireETCInfoManager	g_pVampireETCInfoManager = new VampireETCInfoManager ();	g_pVampireETCInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_ETC] = g_pVampireETCInfoManager;	VampireETC::initItemIDRegistry();	//cout << "VampireETC" << endl;		// initialize SlayerPortalItemInfoManager	g_pSlayerPortalItemInfoManager = new SlayerPortalItemInfoManager ();	g_pSlayerPortalItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_SLAYER_PORTAL_ITEM] = g_pSlayerPortalItemInfoManager;	SlayerPortalItem::initItemIDRegistry();	//cout << "SlayerPortalItem" << endl;		// initialize VampirePortalItemInfoManager	g_pVampirePortalItemInfoManager = new VampirePortalItemInfoManager ();	g_pVampirePortalItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_PORTAL_ITEM] = g_pVampirePortalItemInfoManager;	VampirePortalItem::initItemIDRegistry();	//cout << "VampirePortalItem" << endl;	// initialize EventGiftBoxInfoManager	g_pEventGiftBoxInfoManager = new EventGiftBoxInfoManager ();	g_pEventGiftBoxInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EVENT_GIFT_BOX] = g_pEventGiftBoxInfoManager;	EventGiftBox::initItemIDRegistry();	//cout << "EventGiftBox" << endl;	// initialize EventStarInfoManager	g_pEventStarInfoManager = new EventStarInfoManager ();	g_pEventStarInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EVENT_STAR] = g_pEventStarInfoManager;	EventStar::initItemIDRegistry();	//cout << "EventStar" << endl;	// initialize VampireBraceletInfoManager	g_pVampireEarringInfoManager = new VampireEarringInfoManager ();	g_pVampireEarringInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_EARRING] = g_pVampireEarringInfoManager;	VampireEarring::initItemIDRegistry();	//cout << "VampireEarring" << endl;	g_pRelicInfoManager = new RelicInfoManager();	g_pRelicInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_RELIC] = g_pRelicInfoManager;	Relic::initItemIDRegistry();	// initialize VampireBraceletInfoManager	g_pVampireWeaponInfoManager = new VampireWeaponInfoManager ();	g_pVampireWeaponInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_WEAPON] = g_pVampireWeaponInfoManager;	VampireWeapon::initItemIDRegistry();	g_pVampireAmuletInfoManager = new VampireAmuletInfoManager();	g_pVampireAmuletInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_AMULET] = g_pVampireAmuletInfoManager;	VampireAmulet::initItemIDRegistry();	g_pQuestItemInfoManager = new QuestItemInfoManager ();	g_pQuestItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_QUEST_ITEM] = g_pQuestItemInfoManager;	QuestItem::initItemIDRegistry();	g_pEventTreeInfoManager = new EventTreeInfoManager ();	g_pEventTreeInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EVENT_TREE] = g_pEventTreeInfoManager;	EventTree::initItemIDRegistry();	g_pEventETCInfoManager = new EventETCInfoManager ();	g_pEventETCInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EVENT_ETC] = g_pEventETCInfoManager;	EventETC::initItemIDRegistry();	g_pBloodBibleInfoManager = new BloodBibleInfoManager ();	g_pBloodBibleInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_BLOOD_BIBLE] = g_pBloodBibleInfoManager;	BloodBible::initItemIDRegistry();	g_pCastleSymbolInfoManager = new CastleSymbolInfoManager ();	g_pCastleSymbolInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_CASTLE_SYMBOL] = g_pCastleSymbolInfoManager;	CastleSymbol::initItemIDRegistry();		g_pCoupleRingInfoManager = new CoupleRingInfoManager ();	g_pCoupleRingInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_COUPLE_RING] = g_pCoupleRingInfoManager;	CoupleRing::initItemIDRegistry();	g_pVampireCoupleRingInfoManager = new VampireCoupleRingInfoManager ();	g_pVampireCoupleRingInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_VAMPIRE_COUPLE_RING] = g_pVampireCoupleRingInfoManager;	VampireCoupleRing::initItemIDRegistry();	g_pEventItemInfoManager = new EventItemInfoManager ();	g_pEventItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EVENT_ITEM] = g_pEventItemInfoManager;	EventItem::initItemIDRegistry();	g_pDyePotionInfoManager = new DyePotionInfoManager ();	g_pDyePotionInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_DYE_POTION] = g_pDyePotionInfoManager;	DyePotion::initItemIDRegistry();	g_pResurrectItemInfoManager = new ResurrectItemInfoManager ();	g_pResurrectItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_RESURRECT_ITEM] = g_pResurrectItemInfoManager;	ResurrectItem::initItemIDRegistry();	g_pMixingItemInfoManager = new MixingItemInfoManager ();	g_pMixingItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_MIXING_ITEM] = g_pMixingItemInfoManager;	MixingItem::initItemIDRegistry();	g_pOustersArmsbandInfoManager = new OustersArmsbandInfoManager ();	g_pOustersArmsbandInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_ARMSBAND] = g_pOustersArmsbandInfoManager;	OustersArmsband::initItemIDRegistry();	g_pOustersBootsInfoManager = new OustersBootsInfoManager ();	g_pOustersBootsInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_BOOTS] = g_pOustersBootsInfoManager;	OustersBoots::initItemIDRegistry();	g_pOustersChakramInfoManager = new OustersChakramInfoManager ();	g_pOustersChakramInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_CHAKRAM] = g_pOustersChakramInfoManager;	OustersChakram::initItemIDRegistry();	g_pOustersCircletInfoManager = new OustersCircletInfoManager ();	g_pOustersCircletInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_CIRCLET] = g_pOustersCircletInfoManager;	OustersCirclet::initItemIDRegistry();	g_pOustersCoatInfoManager = new OustersCoatInfoManager ();	g_pOustersCoatInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_COAT] = g_pOustersCoatInfoManager;	OustersCoat::initItemIDRegistry();	g_pOustersPendentInfoManager = new OustersPendentInfoManager ();	g_pOustersPendentInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_PENDENT] = g_pOustersPendentInfoManager;	OustersPendent::initItemIDRegistry();	g_pOustersRingInfoManager = new OustersRingInfoManager ();	g_pOustersRingInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_RING] = g_pOustersRingInfoManager;	OustersRing::initItemIDRegistry();	g_pOustersStoneInfoManager = new OustersStoneInfoManager ();	g_pOustersStoneInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_STONE] = g_pOustersStoneInfoManager;	OustersStone::initItemIDRegistry();	g_pOustersWristletInfoManager = new OustersWristletInfoManager ();	g_pOustersWristletInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_WRISTLET] = g_pOustersWristletInfoManager;	OustersWristlet::initItemIDRegistry();	g_pLarvaInfoManager = new LarvaInfoManager ();	g_pLarvaInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_LARVA] = g_pLarvaInfoManager;	Larva::initItemIDRegistry();	g_pPupaInfoManager = new PupaInfoManager ();	g_pPupaInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_PUPA] = g_pPupaInfoManager;	Pupa::initItemIDRegistry();	g_pComposMeiInfoManager = new ComposMeiInfoManager ();	g_pComposMeiInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_COMPOS_MEI] = g_pComposMeiInfoManager;	ComposMei::initItemIDRegistry();	g_pOustersSummonItemInfoManager = new OustersSummonItemInfoManager ();	g_pOustersSummonItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_OUSTERS_SUMMON_ITEM] = g_pOustersSummonItemInfoManager;	OustersSummonItem::initItemIDRegistry();	g_pEffectItemInfoManager = new EffectItemInfoManager ();	g_pEffectItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_EFFECT_ITEM] = g_pEffectItemInfoManager;	EffectItem::initItemIDRegistry();	g_pCodeSheetInfoManager = new CodeSheetInfoManager ();	g_pCodeSheetInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_CODE_SHEET] = g_pCodeSheetInfoManager;	CodeSheet::initItemIDRegistry();	g_pMoonCardInfoManager = new MoonCardInfoManager ();	g_pMoonCardInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_MOON_CARD] = g_pMoonCardInfoManager;	MoonCard::initItemIDRegistry();	g_pSweeperInfoManager = new SweeperInfoManager ();	g_pSweeperInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_SWEEPER] = g_pSweeperInfoManager;	Sweeper::initItemIDRegistry();	g_pPetItemInfoManager = new PetItemInfoManager ();	g_pPetItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_PET_ITEM] = g_pPetItemInfoManager;	PetItem::initItemIDRegistry();	g_pPetFoodInfoManager = new PetFoodInfoManager ();	g_pPetFoodInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_PET_FOOD] = g_pPetFoodInfoManager;	PetFood::initItemIDRegistry();	g_pPetEnchantItemInfoManager = new PetEnchantItemInfoManager ();	g_pPetEnchantItemInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_PET_ENCHANT_ITEM] = g_pPetEnchantItemInfoManager;	PetEnchantItem::initItemIDRegistry();	g_pLuckyBagInfoManager = new LuckyBagInfoManager ();	g_pLuckyBagInfoManager->init();	m_InfoClassManagers[Item::ITEM_CLASS_LUCKY_BAG] = g_pLuckyBagInfoManager;	LuckyBag::initItemIDRegistry();	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get sub info class manager//////////////////////////////////////////////////////////////////////////////InfoClassManager* ItemInfoManager::getInfoManager (Item::ItemClass Class) const	throw (Error){	__BEGIN_TRY	Assert(Class < Item::ITEM_CLASS_MAX);	Assert(m_InfoClassManagers[Class] != NULL);	return m_InfoClassManagers[Class];	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get item info//////////////////////////////////////////////////////////////////////////////ItemInfo* ItemInfoManager::getItemInfo (Item::ItemClass Class, ItemType_t ItemType) const 	throw (Error){	__BEGIN_TRY	Assert(Class < Item::ITEM_CLASS_MAX);	Assert(m_InfoClassManagers[Class] != NULL);	return m_InfoClassManagers[Class]->getItemInfo(ItemType);	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get #item-info//////////////////////////////////////////////////////////////////////////////uint ItemInfoManager::getItemCount (Item::ItemClass Class) const 	throw (Error){	__BEGIN_TRY	Assert(Class < Item::ITEM_CLASS_MAX);	Assert(m_InfoClassManagers[Class] != NULL);	return m_InfoClassManagers[Class]->getInfoCount();	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get possible item type vector for specific item class//////////////////////////////////////////////////////////////////////////////vector<ItemType_t> ItemInfoManager::getPossibleItemTypes(Item::ItemClass IClass, uint minLevel, uint maxLevel)	throw(){	__BEGIN_TRY	Assert(IClass < Item::ITEM_CLASS_MAX);	Assert(m_InfoClassManagers[IClass] != NULL);	vector<ItemType_t> result;	uint               ItemCount = m_InfoClassManagers[IClass]->getInfoCount();	for (ItemType_t i=0; i<ItemCount; i++)	{		ItemInfo* pItemInfo = m_InfoClassManagers[IClass]->getItemInfo(i);		Assert(pItemInfo != NULL);		uint itemLevel = pItemInfo->getItemLevel();		// 泅犁 瘤沥等 酒捞袍狼 饭骇捞 min 饭骇焊促 臭绊,		// max 饭骇焊促 撤促搁, 酒捞袍 鸥涝阑 氦磐俊促 歹茄促.		if (minLevel <= itemLevel && itemLevel <= maxLevel)		{			result.push_back(i);		}	}	return result;	__END_CATCH}bool ItemInfoManager::isPossibleItem(Item::ItemClass IClass, ItemType_t IType, const list<OptionType_t>& OType) 	throw(){	__BEGIN_TRY	Assert(IClass < Item::ITEM_CLASS_MAX);	Assert(m_InfoClassManagers[IClass] != NULL);	if (IType < m_InfoClassManagers[IClass]->getInfoCount())	{		if (!OType.empty())		{			try			{				//cout << "IM::getOptionInfo(" << (int)OType << ")" << endl;				//cout << "IM::getOptionInfo(" << getOptionTypeToString(OType).c_str() << ")" << endl;				list<OptionType_t>::const_iterator itr = OType.begin();				for (; itr!=OType.end(); itr++)				{					OptionType_t optionType = *itr;					if (g_pOptionInfoManager->getOptionInfo(optionType)==NULL)					{						return false;					}				}				return true;			}			catch (NoSuchElementException& nsee)			{				cout << nsee.toString().c_str() << endl;				return false;			}		}		else		{			return true;		}	}		return false;	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// get debug string//////////////////////////////////////////////////////////////////////////////string ItemInfoManager::toString () const	throw (){	__BEGIN_TRY	StringStream msg;	msg << "ItemInfoManager(";	for (uint i = 0; i < Item::ITEM_CLASS_MAX ; i ++)	{		if (m_InfoClassManagers[i] == NULL) msg << "NULL";		else msg << m_InfoClassManagers[i]->toString();	}	msg << ")";	return msg.toString();	__END_CATCH}// global variable declarationItemInfoManager* g_pItemInfoManager = NULL;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -