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

📄 uniqueitemmanager.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : UniqueItemManager.cpp// Written By  : suigui// Description ://////////////////////////////////////////////////////////////////////////////#include "UniqueItemManager.h"#include "ItemInfoManager.h"#include "Item.h"#include "DB.h"UniqueItemManager* g_pUniqueItemManager = NULL;//----------------------------------------------------------------------// init//----------------------------------------------------------------------void UniqueItemManager::init() 	throw (Error){	__BEGIN_TRY	__BEGIN_DEBUG	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		// DB俊辑 泅犁狼 蔼阑 佬绢柯促.		Result* pResult = pStmt->executeQuery(			"SELECT ItemClass, ItemType FROM UniqueItemInfo");		// 瘤沥等 itemClas, itemType阑 Unique Item栏肺 汲沥茄促.		while (pResult->next())		{			Item::ItemClass itemClass = (Item::ItemClass)pResult->getInt(1);			int itemType  = pResult->getInt(2);			ItemInfo* pItemInfo = g_pItemInfoManager->getItemInfo( itemClass, itemType );			Assert(pItemInfo!=NULL);			pItemInfo->setUnique();		}		SAFE_DELETE(pStmt);	}	END_DB(pStmt);	__END_CATCH	__END_DEBUG}//----------------------------------------------------------------------// is Possible Create//----------------------------------------------------------------------bool UniqueItemManager::isPossibleCreate(Item::ItemClass itemClass, ItemType_t itemType) 	throw(Error){	__BEGIN_TRY	__BEGIN_DEBUG	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		// DB俊辑 泅犁狼 蔼阑 佬绢柯促.		Result* pResult = pStmt->executeQuery(			"SELECT LimitNumber, CurrentNumber FROM UniqueItemInfo WHERE ItemClass=%d AND ItemType=%d",			(int)itemClass, (int)itemType);		if (pResult->next())		{			int limitNumber  = pResult->getInt(1);			int currentNumber  = pResult->getInt(2);			return limitNumber==0 || currentNumber<limitNumber;		}		SAFE_DELETE(pStmt);	}	END_DB(pStmt);	__END_CATCH	__END_DEBUG	return false;}//----------------------------------------------------------------------// createItem//----------------------------------------------------------------------// DB俊辑 俺荐 刘啊//----------------------------------------------------------------------void UniqueItemManager::createItem(Item::ItemClass itemClass, ItemType_t itemType) 	throw(Error){	__BEGIN_TRY	__BEGIN_DEBUG	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		// DB俊辑 泅犁狼 蔼阑 佬绢柯促.		pStmt->executeQuery(			"UPDATE UniqueItemInfo SET CurrentNumber=CurrentNumber+1 WHERE ItemClass=%d AND ItemType=%d",			(int)itemClass, (int)itemType);		SAFE_DELETE(pStmt);	}	END_DB(pStmt);	__END_CATCH	__END_DEBUG}//----------------------------------------------------------------------// deleteItem//----------------------------------------------------------------------// DB俊辑 俺荐 刘啊//----------------------------------------------------------------------void UniqueItemManager::deleteItem(Item::ItemClass itemClass, ItemType_t itemType) 	throw(Error){	__BEGIN_TRY	__BEGIN_DEBUG	Statement* pStmt = NULL;	BEGIN_DB	{		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		// DB俊辑 泅犁狼 蔼阑 佬绢柯促.		pStmt->executeQuery(			"UPDATE UniqueItemInfo SET CurrentNumber=CurrentNumber-1 WHERE ItemClass=%d AND ItemType=%d",			(int)itemClass, (int)itemType);		SAFE_DELETE(pStmt);	}	END_DB(pStmt);	__END_CATCH	__END_DEBUG}

⌨️ 快捷键说明

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