InventoryWnd.cpp
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:40k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. /******************************************************************************************************************
  2.                                                                                                                    
  3. 葛碘疙:
  4. 累己磊:
  5. 累己老:
  6. [老磊][荐沥磊] : 荐沥 郴侩
  7.                                                                                                                    
  8. *******************************************************************************************************************/
  9. #include "StdAfx.h"
  10. /******************************************************************************************************************
  11. CInventoryWnd Class
  12. *******************************************************************************************************************/
  13. /******************************************************************************************************************
  14. 窃荐疙 : CInventoryWnd::CInventoryWnd()
  15. 累己磊 : 
  16. 累己老 : 
  17. 格利   : 
  18. 免仿   : 
  19. [老磊][荐沥磊] : 荐沥郴侩
  20. *******************************************************************************************************************/
  21. CInventoryWnd::CInventoryWnd()
  22. {
  23. Init();
  24. }
  25. /******************************************************************************************************************
  26. 窃荐疙 : CInventoryWnd::~CInventoryWnd()
  27. 累己磊 : 
  28. 累己老 : 
  29. 格利   : 
  30. 免仿   : 
  31. [老磊][荐沥磊] : 荐沥郴侩
  32. *******************************************************************************************************************/
  33. CInventoryWnd::~CInventoryWnd()
  34. {
  35. Destroy();
  36. }
  37. VOID CInventoryWnd::Init()
  38. {
  39. INT nCnt;
  40. CGameWnd::Init();
  41. m_nStartLineNum = 0;
  42. ZeroMemory(m_rcInvenCell, sizeof(RECT) *_INVEN_MAX_CELL);
  43. ZeroMemory(m_rcBeltCell,  sizeof(RECT) *_BELT_MAX_CELL );
  44. ZeroMemory(m_stInventoryItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM);
  45. ZeroMemory(m_stBeltItem,   sizeof(ITEMSET)*_MAX_BELT_ITEM );
  46. m_xInvenScrlBar.Init();
  47. for ( nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  48. {
  49. m_xInventoryBtn[nCnt].Init();
  50. }
  51. }
  52. VOID CInventoryWnd::Destroy()
  53. {
  54. INT nCnt;
  55. CGameWnd::Destroy();
  56. for ( nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  57. {
  58. m_xInventoryBtn[nCnt].Destroy();
  59. }
  60. Init();
  61. }
  62. /******************************************************************************************************************
  63. 窃荐疙 : CInventoryWnd::CreateInventoryWnd()
  64. 累己磊 : 
  65. 累己老 : 
  66. 格利   : 
  67. 涝仿   : INT nID
  68.          CWHWilImageData* pxWndImage
  69.          INT nFrameImgIdx
  70.          INT nStartX
  71.          INT nStartY
  72.          INT nWidth
  73.          INT nHeight
  74.          BOOL bCanMove
  75. 免仿   : VOID 
  76. [老磊][荐沥磊] : 荐沥郴侩
  77. *******************************************************************************************************************/
  78. VOID CInventoryWnd::CreateInventoryWnd(INT nID, CWHWilImageData* pxWndImage, INT nFrameImgIdx, INT nStartX, INT nStartY, INT nWidth, INT nHeight, BOOL bCanMove)
  79. {
  80. // 扩档快 积己.
  81. CreateGameWnd(nID, pxWndImage, nFrameImgIdx, bCanMove, nStartX, nStartY, nWidth, nHeight);
  82. // 滚瓢积己.
  83. m_xInventoryBtn[_BTN_ID_INVENCLOSE  ].CreateGameBtn(pxWndImage, 280, 281, nStartX+255, nStartY+291);
  84. // m_xInventoryBtn[_BTN_ID_INVENSCRLUP  ].CreateGameBtn(pxWndImage, 74, 75, nStartX+247, nStartY+ 20);
  85. // m_xInventoryBtn[_BTN_ID_INVENSCRLDOWN].CreateGameBtn(pxWndImage, 74, 75, nStartX+247, nStartY+167);
  86. m_xInvenScrlBar.CreateScrlBar(pxWndImage, 270, _INVEN_MAX_CELL_YCNT, 10, 218, 10);
  87. // 牢亥配府 伎康开狼 Set.
  88. for ( INT nYCnt = 0; nYCnt < _INVEN_CELL_YCNT; nYCnt++ )
  89. {
  90. for ( INT nXCnt = 0; nXCnt < _INVEN_CELL_XCNT; nXCnt++ )
  91. {
  92. SetRect(&m_rcInvenCell[nXCnt+nYCnt*_INVEN_CELL_XCNT], 
  93. _INVEN_CELL_XSTART+(nXCnt*_INVENTORY_CELL_WIDTH), 
  94. _INVEN_CELL_YSTART+(nYCnt*_INVENTORY_CELL_HEIGHT),
  95. _INVEN_CELL_XSTART+(nXCnt*_INVENTORY_CELL_WIDTH) +_INVENTORY_CELL_WIDTH, 
  96. _INVEN_CELL_YSTART+(nYCnt*_INVENTORY_CELL_HEIGHT)+_INVENTORY_CELL_HEIGHT);
  97. }
  98. }
  99. // 骇飘 伎康开狼 Set.
  100. for ( INT nCnt = 0; nCnt < _MAX_BELT_ITEM; nCnt++ )
  101. {
  102. SetRect(&m_rcBeltCell[nCnt], 
  103. _BELT_CELL_XSTART+(nCnt*_BELT_CELL_XGAP), 
  104. _BELT_CELL_YSTART,
  105. _BELT_CELL_XSTART+(nCnt*_BELT_CELL_XGAP)+_INVENTORY_CELL_WIDTH, 
  106. _BELT_CELL_YSTART+_INVENTORY_CELL_HEIGHT);
  107. }
  108. }
  109. /******************************************************************************************************************
  110. 窃荐疙 : CInventoryWnd::SetInvenBtnInit()
  111. 累己磊 : 
  112. 累己老 : 
  113. 格利   : 
  114. 免仿   : VOID 
  115. [老磊][荐沥磊] : 荐沥郴侩
  116. *******************************************************************************************************************/
  117. VOID CInventoryWnd::SetInvenBtnInit()
  118. {
  119. for( INT nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  120. {
  121. m_xInventoryBtn[nCnt].SetBtnState(_BTN_STATE_NORMAL);
  122. }
  123. }
  124. /******************************************************************************************************************
  125. 窃荐疙 : CInventoryWnd::ShowInventoryWnd()
  126. 累己磊 : 
  127. 累己老 : 
  128. 格利   : 
  129. 免仿   : VOID 
  130. [老磊][荐沥磊] : 荐沥郴侩
  131. *******************************************************************************************************************/
  132. VOID CInventoryWnd::ShowInventoryWnd()
  133. {
  134. INT nCnt;
  135. // 扩档快 官帕弊府扁.
  136. ShowGameWnd();
  137. RECT rcTitle = {m_rcWnd.left+31, m_rcWnd.top+27, m_rcWnd.left+133, m_rcWnd.top+43};
  138. g_xMainWnd.PutsHan(NULL, rcTitle, RGB(200, 200, 255), RGB(0, 0, 0), "[啊规芒]", g_xMainWnd.CreateGameFont("泵辑眉", 10, 0, FW_BOLD));
  139. // 胶农费官.
  140. m_xInvenScrlBar.ShowScrlBar(m_rcWnd.left+254, m_rcWnd.top-165, m_nStartLineNum, 12);
  141. // 牢亥配府 酒捞袍 弊府扁.
  142. for ( nCnt = 0; nCnt < _MAX_INVEN_ITEM; nCnt++ )
  143. {
  144. if ( m_stInventoryItem[nCnt].bSetted )
  145. {
  146. INT nStartX, nStartY;
  147. if ( nCnt >= m_nStartLineNum*_INVEN_CELL_XCNT && nCnt < (m_nStartLineNum+_INVEN_CELL_YCNT)*_INVEN_CELL_XCNT ) 
  148. {
  149. nStartX = m_rcWnd.left+m_rcInvenCell[nCnt-(m_nStartLineNum*_INVEN_CELL_XCNT)].left;
  150. nStartY = m_rcWnd.top +m_rcInvenCell[nCnt-(m_nStartLineNum*_INVEN_CELL_XCNT)].top;
  151. // m_stInventoryItem[nCnt].xItem.m_stItemInfo.stStdItem.wLooks = 4;
  152. m_stInventoryItem[nCnt].xItem.DrawItem(nStartX, nStartY);
  153. // RECT rc = {nStartX, nStartY, nStartX+_INVENTORY_CELL_WIDTH, nStartY+_INVENTORY_CELL_HEIGHT};
  154. // g_xMainWnd.DrawWithGDI(rc, NULL, RGB(255, 0, 255), 1);
  155. }
  156. }
  157. }
  158. // 骇飘 酒捞袍 弊府扁.
  159. for ( nCnt = 0; nCnt < _MAX_BELT_ITEM; nCnt++ )
  160. {
  161. if ( m_stBeltItem[nCnt].bSetted )
  162. {
  163. INT nStartX, nStartY;
  164. nStartX = m_rcWnd.left+m_rcBeltCell[nCnt].left;
  165. nStartY = m_rcWnd.top+m_rcBeltCell[nCnt].top;
  166. m_stBeltItem[nCnt].xItem.DrawItem(nStartX, nStartY);
  167. }
  168. }
  169. // 牢亥配府 扩档快 滚瓢 弊府扁.
  170. for ( nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  171. {
  172. m_xInventoryBtn[nCnt].ShowGameBtn();
  173. }
  174. // 酒捞袍狼 惑怕摹 焊咯林扁.
  175. ShowInvenItemState();
  176. }
  177. /******************************************************************************************************************
  178. 窃荐疙 : CInventoryWnd::ShowInvenItemState()
  179. 累己磊 : 
  180. 累己老 : 
  181. 格利   : 
  182. 免仿   : VOID 
  183. [老磊][荐沥磊] : 荐沥郴侩
  184. *******************************************************************************************************************/
  185. VOID CInventoryWnd::ShowInvenItemState()
  186. {
  187. /* INT nInventoryNum = GetInvenNum(g_xGameProc.m_ptMousePos);
  188. if ( nInventoryNum != -1 )
  189. {
  190. if ( m_stInventoryItem[nInventoryNum].bSetted )
  191. {
  192. m_stInventoryItem[nInventoryNum].xItem.ShowItemStatus(m_rcWnd.left+95, m_rcWnd.top+250);
  193. }
  194. }
  195. */
  196. INT nInventoryNum = GetInvenNum(g_xGameProc.m_ptMousePos);
  197. if ( nInventoryNum != -1 )
  198. {
  199. if ( m_stInventoryItem[nInventoryNum].bSetted )
  200. {
  201. INT nStartX, nStartY;
  202. if ( nInventoryNum >= m_nStartLineNum*_INVEN_CELL_XCNT && nInventoryNum < (m_nStartLineNum+_INVEN_CELL_YCNT)*_INVEN_CELL_XCNT ) 
  203. {
  204. nStartX = m_rcWnd.left+m_rcInvenCell[nInventoryNum-(m_nStartLineNum*_INVEN_CELL_XCNT)].left;
  205. nStartY = m_rcWnd.top +m_rcInvenCell[nInventoryNum-(m_nStartLineNum*_INVEN_CELL_XCNT)].top;
  206. m_stInventoryItem[nInventoryNum].xItem.ShowItemStatus(nStartX+15, nStartY+15);
  207. }
  208. }
  209. }
  210. INT nBeltInventoryNum = GetBeltNum(g_xGameProc.m_ptMousePos);
  211. if ( nBeltInventoryNum != -1 )
  212. {
  213. if ( m_stBeltItem[nBeltInventoryNum].bSetted )
  214. {
  215. m_stBeltItem[nBeltInventoryNum].xItem.ShowItemStatus(m_rcWnd.left+95, m_rcWnd.top+250);
  216. }
  217. }
  218. }
  219. /******************************************************************************************************************
  220. 酒捞袍 持绊哗扁 包访, 牢亥配府困摹 历厘颇老 技捞宏棺 肺靛.(牢亥配府 棺 骇飘)
  221. *******************************************************************************************************************/
  222. /******************************************************************************************************************
  223. 窃荐疙 : CInventoryWnd::CheckItemPos()
  224. 累己磊 : 
  225. 累己老 : 
  226. 格利   : 
  227. 涝仿   : CHAR* szName
  228. 免仿   : BOOL 
  229. [老磊][荐沥磊] : 荐沥郴侩
  230. *******************************************************************************************************************/
  231. BOOL CInventoryWnd::CheckItemPos(CHAR* szName)
  232. {
  233. HANDLE hFile;
  234. CHAR szItemFile[MAX_PATH];
  235. INT nCnt1, nCnt2;
  236. ITEMSET stInvenItem[_MAX_INVEN_ITEM]; // 烙矫单捞鸥 肺靛侩函荐.
  237. ITEMSET stBeltItem[_MAX_BELT_ITEM];
  238. ITEMSET stCheckedInvenItem[_MAX_INVEN_ITEM]; // 八荤等 单捞鸥 焊包侩函荐.
  239. ITEMSET stCehckedBeltItem[_MAX_BELT_ITEM];
  240. ZeroMemory(szItemFile, MAX_PATH);
  241. g_xMainWnd.StringPlus(szItemFile, ".\Data\", szName, ".itm", "");
  242. hFile = CreateFile(szItemFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  243. ZeroMemory(stInvenItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM);
  244. ZeroMemory(stCheckedInvenItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM);
  245. ZeroMemory(stBeltItem , sizeof(ITEMSET)*_MAX_BELT_ITEM );
  246. ZeroMemory(stCehckedBeltItem, sizeof(ITEMSET)*_MAX_BELT_ITEM);
  247. if ( hFile != INVALID_HANDLE_VALUE )
  248. {
  249. DWORD dwReadLen;
  250. ReadFile(hFile, &stInvenItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM, &dwReadLen, NULL);
  251. ReadFile(hFile, &stBeltItem , sizeof(ITEMSET)*_MAX_BELT_ITEM , &dwReadLen, NULL);
  252. // 辑滚俊辑 罐篮 牢亥配府单捞鸥客 努扼捞攫飘俊辑 付瘤阜俊 历厘矫挪 骇飘芒单捞鸥甫 厚背窍搁辑 嘎绰 困摹俊 硅沥矫挪促.
  253. for ( nCnt1 = 0; nCnt1 < _MAX_BELT_ITEM; nCnt1++ )
  254. {
  255. if ( stBeltItem[nCnt1].bSetted )
  256. {
  257. for ( nCnt2 = 0; nCnt2 < _MAX_INVEN_ITEM; nCnt2++ )
  258. {
  259. if ( m_stInventoryItem[nCnt2].bSetted )
  260. {
  261. // 鞍篮酒捞袍牢瘤甫 惶酒辰促.
  262. if ( stBeltItem[nCnt1].xItem.m_stItemInfo.nMakeIndex  != m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nMakeIndex &&
  263.  !strcmp(stBeltItem[nCnt1].xItem.m_stItemInfo.stStdItem.szName, m_stInventoryItem[nCnt2].xItem.m_stItemInfo.stStdItem.szName) &&
  264.  (stBeltItem[nCnt1].xItem.m_stItemInfo.nDura    == m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nDura   ) &&
  265.  (stBeltItem[nCnt1].xItem.m_stItemInfo.nDuraMax == m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nDuraMax) )
  266. {
  267. stCehckedBeltItem[nCnt1] = m_stInventoryItem[nCnt2];
  268. ZeroMemory(&stBeltItem[nCnt1], sizeof(ITEMSET));
  269. DeleteInvenItem(nCnt2);
  270. break;
  271. }    
  272. }
  273. }
  274. }
  275. memcpy(m_stBeltItem, stCehckedBeltItem, sizeof(ITEMSET)*_MAX_BELT_ITEM);
  276. // 牢亥配府.
  277. for ( nCnt1 = 0; nCnt1 < _MAX_INVEN_ITEM; nCnt1++ )
  278. {
  279. if ( stInvenItem[nCnt1].bSetted )
  280. {
  281. for ( nCnt2 = 0; nCnt2 < _MAX_INVEN_ITEM; nCnt2++ )
  282. {
  283. if ( m_stInventoryItem[nCnt2].bSetted )
  284. {
  285. // 鞍篮酒捞袍牢瘤甫 惶酒辰促.
  286. if ( stInvenItem[nCnt1].xItem.m_stItemInfo.nMakeIndex != m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nMakeIndex &&
  287.  !strcmp(stInvenItem[nCnt1].xItem.m_stItemInfo.stStdItem.szName, m_stInventoryItem[nCnt2].xItem.m_stItemInfo.stStdItem.szName) &&
  288.  (stInvenItem[nCnt1].xItem.m_stItemInfo.nDura  == m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nDura    ) &&
  289.  (stInvenItem[nCnt1].xItem.m_stItemInfo.nDuraMax == m_stInventoryItem[nCnt2].xItem.m_stItemInfo.nDuraMax ) )
  290. {
  291. stCheckedInvenItem[nCnt1] = m_stInventoryItem[nCnt2];
  292. ZeroMemory(&stInvenItem[nCnt1], sizeof(ITEMSET));
  293. DeleteInvenItem(nCnt2);
  294. break;
  295. }
  296. }
  297. }
  298. }
  299. }
  300. for ( nCnt1 = 0; nCnt1 < _MAX_INVEN_ITEM; nCnt1++ )
  301. {
  302. if ( m_stInventoryItem[nCnt1].bSetted )
  303. {
  304. for ( nCnt2 = 0; nCnt2 < _MAX_INVEN_ITEM; nCnt2++ )
  305. {
  306. if ( !stCheckedInvenItem[nCnt2].bSetted )
  307. {
  308. stCheckedInvenItem[nCnt2] = m_stInventoryItem[nCnt1];
  309. break;
  310. }
  311. }
  312. }
  313. }
  314. memcpy(m_stInventoryItem, stCheckedInvenItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM);
  315. CloseHandle(hFile);
  316. return TRUE;
  317. }
  318. return FALSE;
  319. }
  320. /******************************************************************************************************************
  321. 窃荐疙 : CInventoryWnd::SaveItemPos()
  322. 累己磊 : 
  323. 累己老 : 
  324. 格利   : 
  325. 涝仿   : CHAR* szName
  326. 免仿   : BOOL 
  327. [老磊][荐沥磊] : 荐沥郴侩
  328. *******************************************************************************************************************/
  329. BOOL CInventoryWnd::SaveItemPos(CHAR* szName)
  330. {
  331. HANDLE hFile;
  332. CHAR szItemFile[MAX_PATH];
  333. ZeroMemory(szItemFile, MAX_PATH);
  334. g_xMainWnd.StringPlus(szItemFile, ".\Data\", szName, ".itm", "");
  335. hFile = CreateFile(szItemFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
  336. if ( hFile != INVALID_HANDLE_VALUE )
  337. {
  338. DWORD dwWriteLen;
  339. WriteFile(hFile, m_stInventoryItem, sizeof(ITEMSET)*_MAX_INVEN_ITEM, &dwWriteLen, NULL);
  340. WriteFile(hFile, m_stBeltItem, sizeof(ITEMSET)*_MAX_BELT_ITEM , &dwWriteLen, NULL);
  341. CloseHandle(hFile);
  342. return TRUE;
  343. }
  344. return FALSE;
  345. }
  346. /******************************************************************************************************************
  347. 窃荐疙 : CInventoryWnd::GetInvenNum()
  348. 累己磊 : 
  349. 累己老 : 
  350. 格利   : 付快胶 困摹俊辑 泅犁 牢亥配府狼 伎锅龋甫 掘绢柯促.
  351. 涝仿   : POINT ptMouse
  352. 免仿   : INT 
  353. [老磊][荐沥磊] : 荐沥郴侩
  354. *******************************************************************************************************************/
  355. INT CInventoryWnd::GetInvenNum(POINT ptMouse)
  356. {
  357. RECT rc;
  358. for ( INT nCnt = 0; nCnt < _INVEN_MAX_CELL; nCnt++ )
  359. {
  360. SetRect(&rc, m_rcWnd.left+m_rcInvenCell[nCnt].left, m_rcWnd.top+m_rcInvenCell[nCnt].top, 
  361.     m_rcWnd.left+m_rcInvenCell[nCnt].left+_INVENTORY_CELL_WIDTH, m_rcWnd.top+m_rcInvenCell[nCnt].top+_INVENTORY_CELL_HEIGHT);
  362. if ( PtInRect(&rc, ptMouse) )
  363. {
  364. return (nCnt+m_nStartLineNum*_INVEN_CELL_XCNT);
  365. }
  366. }
  367. return -1;
  368. }
  369. /******************************************************************************************************************
  370. 窃荐疙 : CInventoryWnd::GetBeltNum()
  371. 累己磊 : 
  372. 累己老 : 
  373. 格利   : 付快胶 困摹俊辑 泅犁 骇飘狼 伎锅龋甫 掘绢柯促.
  374. 涝仿   : POINT ptMouse
  375. 免仿   : INT 
  376. [老磊][荐沥磊] : 荐沥郴侩
  377. *******************************************************************************************************************/
  378. INT CInventoryWnd::GetBeltNum(POINT ptMouse)
  379. {
  380. RECT rc;
  381. for ( INT nCnt = 0; nCnt < _MAX_BELT_ITEM; nCnt++ )
  382. {
  383. SetRect(&rc, m_rcWnd.left+m_rcBeltCell[nCnt].left, m_rcWnd.top+m_rcBeltCell[nCnt].top, 
  384.     m_rcWnd.left+m_rcBeltCell[nCnt].left+_INVENTORY_CELL_WIDTH, m_rcWnd.top+m_rcBeltCell[nCnt].top+_INVENTORY_CELL_HEIGHT);
  385. if ( PtInRect(&rc, ptMouse) )
  386. {
  387. return (nCnt);
  388. }
  389. }
  390. return -1;
  391. }
  392. /******************************************************************************************************************
  393. 窃荐疙 : CInventoryWnd::DeleteInventoryCurrItem()
  394. 累己磊 : 
  395. 累己老 : 
  396. 格利   : 牢亥配府狼 秦寸伎 酒捞袍阑 瘤款促.
  397. 涝仿   : INT nInventoryNum
  398. 免仿   : VOID 
  399. [老磊][荐沥磊] : 荐沥郴侩
  400. *******************************************************************************************************************/
  401. VOID CInventoryWnd::DeleteInvenItem(INT nInventoryNum)
  402. {
  403. ZeroMemory(&m_stInventoryItem[nInventoryNum], sizeof(ITEMSET));
  404. }
  405. VOID CInventoryWnd::DeleteInvenItem(INT nMakeIndex, CHAR* szName)
  406. {
  407. for ( INT nCnt = 0; nCnt < _MAX_INVEN_ITEM; nCnt++ )
  408. {
  409. if ( m_stInventoryItem[nCnt].bSetted )
  410. {
  411. if ( m_stInventoryItem[nCnt].xItem.m_stItemInfo.nMakeIndex == nMakeIndex )
  412. {
  413. if ( !strcmp(m_stInventoryItem[nCnt].xItem.m_stItemInfo.stStdItem.szName, szName) )
  414. {
  415. DeleteInvenItem(nCnt);
  416. break;
  417. }
  418. }
  419. }
  420. }
  421. }
  422. /******************************************************************************************************************
  423. 窃荐疙 : CInventoryWnd::DeleteInventoryAllItem()
  424. 累己磊 : 
  425. 累己老 : 
  426. 格利   : 牢亥配府狼 葛电 酒捞袍阑 瘤款促.
  427. 免仿   : VOID 
  428. [老磊][荐沥磊] : 荐沥郴侩
  429. *******************************************************************************************************************/
  430. VOID CInventoryWnd::DeleteAllInvenItem()
  431. {
  432. for ( INT nCnt = 0; nCnt < _MAX_INVEN_ITEM; nCnt++ )
  433. {
  434. ZeroMemory(&m_stInventoryItem[nCnt], sizeof(ITEMSET));
  435. }
  436. }
  437. /******************************************************************************************************************
  438. 窃荐疙 : CInventoryWnd::DeleteCurrBeltItemList()
  439. 累己磊 : 
  440. 累己老 : 
  441. 格利   : 骇飘狼 秦寸伎 酒捞袍阑 瘤款促.
  442. 涝仿   : INT nBeltInventoryNum
  443. 免仿   : VOID 
  444. [老磊][荐沥磊] : 荐沥郴侩
  445. *******************************************************************************************************************/
  446. VOID CInventoryWnd::DeleteBeltItem(INT nBeltInventoryNum)
  447. {
  448. ZeroMemory(&m_stBeltItem[nBeltInventoryNum], sizeof(ITEMSET));
  449. }
  450. /******************************************************************************************************************
  451. 窃荐疙 : CInventoryWnd::DeleteAllBeltItemList()
  452. 累己磊 : 
  453. 累己老 : 
  454. 格利   : 骇飘狼 葛电 酒捞袍阑 瘤款促.
  455. 涝仿   : INT nBeltInventoryNum
  456. 免仿   : VOID 
  457. [老磊][荐沥磊] : 荐沥郴侩
  458. *******************************************************************************************************************/
  459. VOID CInventoryWnd::DeleteAllBeltItem()
  460. {
  461. for ( INT nCnt = 0; nCnt < _MAX_BELT_ITEM; nCnt++ )
  462. {
  463. ZeroMemory(&m_stBeltItem[nCnt], sizeof(ITEMSET));
  464. }
  465. }
  466. /******************************************************************************************************************
  467. 窃荐疙 : CInventoryWnd::AddInvenItem()
  468. 累己磊 : 
  469. 累己老 : 
  470. 格利   : 牢亥配府俊 酒捞袍阑 持绰促.
  471. 涝仿   : CItem xItem
  472.          INT nInvenNum
  473.          BOOL bUseInvenNum
  474. 免仿   : BOOL 
  475. [老磊][荐沥磊] : 荐沥郴侩
  476. *******************************************************************************************************************/
  477. BOOL CInventoryWnd::AddInvenItem(CItem xItem, INT nInvenNum, BOOL bUseInvenNum)
  478. {
  479. if ( bUseInvenNum )
  480. {
  481. if ( !m_stInventoryItem[nInvenNum].bSetted )
  482. {
  483. m_stInventoryItem[nInvenNum].bSetted = TRUE;
  484. m_stInventoryItem[nInvenNum].xItem = xItem;
  485. return TRUE;
  486. }
  487. }
  488. for ( INT nCnt = 0; nCnt < _MAX_INVEN_ITEM; nCnt++ )
  489. {
  490. if ( !m_stInventoryItem[nCnt].bSetted )
  491. {
  492. m_stInventoryItem[nCnt].bSetted = TRUE;
  493. m_stInventoryItem[nCnt].xItem = xItem;
  494. return TRUE;
  495. }
  496. }
  497. return FALSE;
  498. }
  499. /******************************************************************************************************************
  500. 窃荐疙 : CInventoryWnd::AddBeltItem()
  501. 累己磊 : 
  502. 累己老 : 
  503. 格利   : 骇飘俊 酒捞袍阑 持绰促.
  504. 涝仿   : CItem xItem
  505.          INT nBeltNum
  506.          BOOL bUseBeltNum
  507. 免仿   : BOOL 
  508. [老磊][荐沥磊] : 荐沥郴侩
  509. *******************************************************************************************************************/
  510. BOOL CInventoryWnd::AddBeltItem(CItem xItem, INT nBeltNum, BOOL bUseBeltNum)
  511. {
  512. if ( bUseBeltNum )
  513. {
  514. if ( !m_stBeltItem[nBeltNum].bSetted )
  515. {
  516. m_stBeltItem[nBeltNum].bSetted = TRUE;
  517. m_stBeltItem[nBeltNum].xItem = xItem;
  518. return TRUE;
  519. }
  520. }
  521. for ( INT nCnt = 0; nCnt < _MAX_BELT_ITEM; nCnt++ )
  522. {
  523. if ( !m_stBeltItem[nCnt].bSetted )
  524. {
  525. m_stBeltItem[nCnt].bSetted = TRUE;
  526. m_stBeltItem[nCnt].xItem = xItem;
  527. return TRUE;
  528. }
  529. }
  530. return FALSE;
  531. }
  532. /******************************************************************************************************************
  533. 窃荐疙 : CInventoryWnd::ExtractInvenItem()
  534. 累己磊 : 
  535. 累己老 : 
  536. 格利   : 牢亥配府俊辑 泅犁 锅龋狼 酒捞袍阑 惶酒柯促.
  537. 涝仿   : CItem* pxItem
  538.          INT nInventoryNum
  539. 免仿   : BOOL 
  540. [老磊][荐沥磊] : 荐沥郴侩
  541. *******************************************************************************************************************/
  542. BOOL CInventoryWnd::ExtractInvenItem(CItem* pxItem, INT nInventoryNum)
  543. {
  544. if ( m_stInventoryItem[nInventoryNum].bSetted )
  545. {
  546. memcpy(pxItem, &m_stInventoryItem[nInventoryNum].xItem, sizeof(CItem));
  547. DeleteInvenItem(nInventoryNum);
  548. return TRUE;
  549. }
  550. return FALSE;
  551. }
  552. /******************************************************************************************************************
  553. 窃荐疙 : CInventoryWnd::ExtractBeltItem()
  554. 累己磊 : 
  555. 累己老 : 
  556. 格利   : 啊规芒俊辑 泅犁 锅龋狼 酒捞袍阑 惶酒柯促.
  557. 涝仿   : CItem* pxItem
  558.          INT nBeltInventoryNum
  559. 免仿   : BOOL 
  560. [老磊][荐沥磊] : 荐沥郴侩
  561. *******************************************************************************************************************/
  562. BOOL CInventoryWnd::ExtractBeltItem(CItem* pxItem, INT nBeltInventoryNum)
  563. {
  564. if ( m_stBeltItem[nBeltInventoryNum].bSetted )
  565. {
  566. memcpy(pxItem, &m_stBeltItem[nBeltInventoryNum].xItem, sizeof(CItem));
  567. DeleteBeltItem(nBeltInventoryNum);
  568. return TRUE;
  569. }
  570. return FALSE;
  571. }
  572. /******************************************************************************************************************
  573. 窃荐疙 : CInventoryWnd::ChangeInvenWithCommon()
  574. 累己磊 : 
  575. 累己老 : 
  576. 格利   : 牢亥配府狼 酒捞袍苞 傍烹(付快胶)酒捞袍阑 官槽促.
  577. 涝仿   : INT nInventoryNum
  578.          LPCOMMONITEMSET pstCommonItemSet
  579. 免仿   : VOID 
  580. [老磊][荐沥磊] : 荐沥郴侩
  581. *******************************************************************************************************************/
  582. VOID CInventoryWnd::ChangeInvenWithCommon(INT nInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  583. {
  584. if ( pstCommonItemSet->bSetted )
  585. {
  586. CItem xInvenItem;
  587. if ( ExtractInvenItem(&xInvenItem, nInventoryNum) )
  588. {
  589. AddInvenItem(pstCommonItemSet->xItem, nInventoryNum, TRUE);
  590. pstCommonItemSet->bSetted = TRUE;
  591. pstCommonItemSet->xItem = xInvenItem;
  592. pstCommonItemSet->bWaitResponse = FALSE;
  593. pstCommonItemSet->bIsEquipItem = FALSE;
  594. pstCommonItemSet->bIsHideItem = FALSE;
  595. pstCommonItemSet->bIsBeltItem = FALSE;
  596. pstCommonItemSet->xItem.m_shCellNum = nInventoryNum; 
  597. }
  598. }
  599. }
  600. /******************************************************************************************************************
  601. 窃荐疙 : CInventoryWnd::ChangeBeltWithCommon()
  602. 累己磊 : 
  603. 累己老 : 
  604. 格利   : 骇飘狼 酒捞袍苞 傍烹(付快胶)酒捞袍阑 官槽促.
  605. 涝仿   : INT nBeltInventoryNum
  606.          LPCOMMONITEMSET pstCommonItemSet
  607. 免仿   : VOID 
  608. [老磊][荐沥磊] : 荐沥郴侩
  609. *******************************************************************************************************************/
  610. VOID CInventoryWnd::ChangeBeltWithCommon(INT nBeltInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  611. {
  612. if ( pstCommonItemSet->bSetted )
  613. {
  614. CItem xBeltItem;
  615. if ( ExtractBeltItem(&xBeltItem, nBeltInventoryNum) )
  616. {
  617. AddBeltItem(pstCommonItemSet->xItem, nBeltInventoryNum, TRUE);
  618. pstCommonItemSet->bSetted = TRUE;
  619. pstCommonItemSet->xItem = xBeltItem;
  620. pstCommonItemSet->bWaitResponse = FALSE;
  621. pstCommonItemSet->bIsEquipItem = FALSE;
  622. pstCommonItemSet->bIsHideItem = FALSE;
  623. pstCommonItemSet->bIsBeltItem = TRUE;
  624. pstCommonItemSet->xItem.m_shCellNum = nBeltInventoryNum; 
  625. }
  626. }
  627. }
  628. /******************************************************************************************************************
  629. 窃荐疙 : CInventoryWnd::SetCommonFromInven()
  630. 累己磊 : 
  631. 累己老 : 
  632. 格利   : 牢亥配府狼 秦寸锅龋 酒捞袍阑 傍烹(付快胶)酒捞袍栏肺 技泼茄促.
  633. 涝仿   : INT nInventoryNum
  634.          LPCOMMONITEMSET pstCommonItemSet
  635. 免仿   : VOID 
  636. [老磊][荐沥磊] : 荐沥郴侩
  637. *******************************************************************************************************************/
  638. VOID CInventoryWnd::SetCommonFromInven(INT nInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  639. {
  640. CItem xInvenItem;
  641. if ( ExtractInvenItem(&xInvenItem, nInventoryNum) )
  642. {
  643. pstCommonItemSet->bSetted = TRUE;
  644. pstCommonItemSet->xItem = xInvenItem;
  645. pstCommonItemSet->bWaitResponse = FALSE;
  646. pstCommonItemSet->bIsEquipItem = FALSE;
  647. pstCommonItemSet->bIsHideItem = FALSE;
  648. pstCommonItemSet->bIsBeltItem = FALSE;
  649. pstCommonItemSet->xItem.m_shCellNum = nInventoryNum; 
  650. }
  651. }
  652. /******************************************************************************************************************
  653. 窃荐疙 : CInventoryWnd::SetCommonFromBelt()
  654. 累己磊 : 
  655. 累己老 : 
  656. 格利   : 骇飘芒狼 秦寸锅龋 酒捞袍阑 傍烹(付快胶)酒捞袍栏肺 技泼茄促.
  657. 涝仿   : INT nBeltInventoryNum
  658.          LPCOMMONITEMSET pstCommonItemSet
  659. 免仿   : VOID 
  660. [老磊][荐沥磊] : 荐沥郴侩
  661. *******************************************************************************************************************/
  662. VOID CInventoryWnd::SetCommonFromBelt(INT nBeltInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  663. {
  664. CItem xBeltItem;
  665. if ( ExtractBeltItem(&xBeltItem, nBeltInventoryNum) )
  666. {
  667. pstCommonItemSet->bSetted = TRUE;
  668. pstCommonItemSet->xItem = xBeltItem;
  669. pstCommonItemSet->bWaitResponse = FALSE;
  670. pstCommonItemSet->bIsEquipItem = FALSE;
  671. pstCommonItemSet->bIsHideItem = FALSE;
  672. pstCommonItemSet->bIsBeltItem = TRUE;
  673. pstCommonItemSet->xItem.m_shCellNum = nBeltInventoryNum; 
  674. }
  675. }
  676. /******************************************************************************************************************
  677. 窃荐疙 : CInventoryWnd::SetInvenFromCommon()
  678. 累己磊 : 
  679. 累己老 : 
  680. 格利   : 傍烹(付快胶)酒捞袍阑 牢亥配府狼 秦寸锅龋肺 技泼茄促.
  681. 涝仿   : INT nInventoryNum
  682.          LPCOMMONITEMSET pstCommonItemSet
  683. 免仿   : VOID 
  684. [老磊][荐沥磊] : 荐沥郴侩
  685. *******************************************************************************************************************/
  686. VOID CInventoryWnd::SetInvenFromCommon(INT nInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  687. {
  688. if ( pstCommonItemSet->bSetted )
  689. {
  690. pstCommonItemSet->xItem.m_shCellNum = nInventoryNum;
  691. AddInvenItem(pstCommonItemSet->xItem, nInventoryNum, TRUE);
  692. ZeroMemory(pstCommonItemSet, sizeof(COMMONITEMSET));
  693. }
  694. }
  695. /******************************************************************************************************************
  696. 窃荐疙 : CInventoryWnd::SetBeltFromCommon()
  697. 累己磊 : 
  698. 累己老 : 
  699. 格利   : 傍烹(付快胶)酒捞袍阑 骇飘芒狼 秦寸锅龋肺 技泼茄促.
  700. 涝仿   : INT nBeltInventoryNum
  701.          LPCOMMONITEMSET pstCommonItemSet
  702. 免仿   : VOID 
  703. [老磊][荐沥磊] : 荐沥郴侩
  704. *******************************************************************************************************************/
  705. VOID CInventoryWnd::SetBeltFromCommon(INT nBeltInventoryNum, LPCOMMONITEMSET pstCommonItemSet)
  706. {
  707. if ( pstCommonItemSet->bSetted )
  708. {
  709. pstCommonItemSet->xItem.m_shCellNum = nBeltInventoryNum;
  710. AddBeltItem(pstCommonItemSet->xItem, nBeltInventoryNum);
  711. ZeroMemory(pstCommonItemSet, sizeof(LPCOMMONITEMSET));
  712. }
  713. }
  714. VOID CInventoryWnd::AddNewBeltItem(LPCOMMONITEMSET pstCommonItemSet)
  715. {
  716. INT nCnt;
  717. if ( pstCommonItemSet->bSetted && pstCommonItemSet->bIsBeltItem )
  718. {
  719. if ( /*pstCommonItemSet->xItem.m_stItemInfo.szMakeIndex[0] == 'G' && */ 
  720.  (pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 0 || pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 3) )
  721. {
  722. for ( nCnt = 0; nCnt < _MAX_INVEN_ITEM; nCnt++ )
  723. {
  724. if ( m_stInventoryItem[nCnt].bSetted && 
  725.  m_stInventoryItem[nCnt].xItem.m_stItemInfo.stStdItem.bStdMode == pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode &&
  726.  m_stInventoryItem[nCnt].xItem.m_stItemInfo.stStdItem.bShape == pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bShape && 
  727.  m_stInventoryItem[nCnt].xItem.m_stItemInfo.nDura == pstCommonItemSet->xItem.m_stItemInfo.nDura && 
  728.  m_stInventoryItem[nCnt].xItem.m_stItemInfo.nDuraMax == pstCommonItemSet->xItem.m_stItemInfo.nDuraMax )
  729.  
  730. {
  731. if ( !m_stBeltItem[pstCommonItemSet->xItem.m_shCellNum].bSetted )
  732. {
  733. m_stBeltItem[pstCommonItemSet->xItem.m_shCellNum].xItem = m_stInventoryItem[nCnt].xItem;
  734. m_stBeltItem[pstCommonItemSet->xItem.m_shCellNum].bSetted = TRUE;
  735. DeleteInvenItem(nCnt);
  736. }
  737. break;
  738. }
  739. }
  740. }  
  741. }
  742. }
  743. /******************************************************************************************************************
  744. Message Function.(付快胶涝仿)
  745. *******************************************************************************************************************/
  746. BOOL CInventoryWnd::OnKeyUp(LPCOMMONITEMSET pstCommonItemSet, WPARAM wParam, LPARAM lParam)
  747. {
  748. INT nBeltInventoryNum;
  749. nBeltInventoryNum = -1;
  750. switch ( wParam )
  751. {
  752. case '1':  nBeltInventoryNum = 0; break;
  753. case '2':  nBeltInventoryNum = 1; break;
  754. case '3':  nBeltInventoryNum = 2; break;
  755. case '4':  nBeltInventoryNum = 3; break;
  756. case '5':  nBeltInventoryNum = 4; break;
  757. case '6':  nBeltInventoryNum = 5; break;
  758. }
  759. if ( nBeltInventoryNum != -1 )
  760. {
  761. if ( m_stBeltItem[nBeltInventoryNum].bSetted )
  762. {
  763. if ( !pstCommonItemSet->bSetted )
  764. {   
  765. SetCommonFromBelt(nBeltInventoryNum, pstCommonItemSet);
  766. }
  767. else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  768. {
  769. if ( /*pstCommonItemSet->xItem.m_stItemInfo.szMakeIndex[0] == 'G' && */
  770.  (pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 0 || pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 3) )
  771. ChangeBeltWithCommon(nBeltInventoryNum, pstCommonItemSet);
  772. }
  773. }
  774. else
  775. {
  776. if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  777. {   
  778. if ( /*pstCommonItemSet->xItem.m_stItemInfo.szMakeIndex[0] == 'G' && */
  779.  (pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 0 || pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 3) )
  780.  SetBeltFromCommon(nBeltInventoryNum, pstCommonItemSet);
  781. }
  782. }
  783. if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  784. {
  785. pstCommonItemSet->bWaitResponse = TRUE;
  786. pstCommonItemSet->bIsHideItem = TRUE;
  787. g_xClientSocket.SendItemIndex(CM_EAT, pstCommonItemSet->xItem.m_stItemInfo.nMakeIndex, pstCommonItemSet->xItem.m_stItemInfo.stStdItem.szName);
  788. return TRUE;
  789. }
  790. }
  791. return FALSE;
  792. }
  793. /******************************************************************************************************************
  794. 窃荐疙 : CInventoryWnd::OnLButtonDown()
  795. 累己磊 : 
  796. 累己老 : 
  797. 格利   : 
  798. 涝仿   : POINT ptMouse
  799. 免仿   : BOOL 
  800. [老磊][荐沥磊] : 荐沥郴侩
  801. *******************************************************************************************************************/
  802. BOOL CInventoryWnd::OnLButtonDown(LPCOMMONITEMSET pstCommonItemSet, POINT ptMouse)
  803. {
  804. INT nCnt, nInventoryNum, nBeltInventoryNum;
  805. m_xInventoryBtn[_BTN_ID_INVENCLOSE  ].ChangeRect(m_rcWnd.left+255, m_rcWnd.top+291);
  806. // m_xInventoryBtn[_BTN_ID_INVENSCRLUP  ].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+ 20);
  807. // m_xInventoryBtn[_BTN_ID_INVENSCRLDOWN].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+167);
  808. if ( m_xInvenScrlBar.OnLButtonDown(ptMouse) )
  809. {
  810. FLOAT fScrlRate;
  811. fScrlRate = m_xInvenScrlBar.GetScrlRate();
  812. m_nStartLineNum = 11*fScrlRate;
  813. return FALSE;
  814. }
  815. for( nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  816. {
  817. if ( m_xInventoryBtn[nCnt].OnLButtonDown(ptMouse) )
  818. return TRUE;
  819. }
  820. nInventoryNum   = GetInvenNum(ptMouse);
  821. nBeltInventoryNum = GetBeltNum(ptMouse);
  822. if ( (nInventoryNum == -1 && nBeltInventoryNum == -1) ) m_bCanMove = TRUE;
  823. else
  824. {
  825. if ( nInventoryNum != -1 )
  826. {
  827. if ( m_stInventoryItem[nInventoryNum].bSetted ) m_bCanMove = FALSE;
  828. else m_bCanMove = TRUE;
  829. }
  830. else if ( nBeltInventoryNum != -1 )
  831. {
  832. if ( m_stBeltItem[nInventoryNum].bSetted ) m_bCanMove = FALSE;
  833. else m_bCanMove = TRUE;
  834. }
  835. }
  836. return FALSE;
  837. }
  838. /******************************************************************************************************************
  839. 窃荐疙 : CInventoryWnd::OnLButtonUp()
  840. 累己磊 : 
  841. 累己老 : 
  842. 格利   : 
  843. 涝仿   : LPCOMMONITEMSET pstCommonItemSet
  844.          POINT ptMouse
  845. 免仿   : BOOL 
  846. [老磊][荐沥磊] : 荐沥郴侩
  847. *******************************************************************************************************************/
  848. BOOL CInventoryWnd::OnLButtonUp(LPCOMMONITEMSET pstCommonItemSet, POINT ptMouse)
  849. {
  850. INT nInventoryNum, nBeltInventoryNum;
  851. m_xInventoryBtn[_BTN_ID_INVENCLOSE  ].ChangeRect(m_rcWnd.left+255, m_rcWnd.top+291);
  852. // m_xInventoryBtn[_BTN_ID_INVENSCRLUP  ].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+ 20);
  853. // m_xInventoryBtn[_BTN_ID_INVENSCRLDOWN].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+167);
  854. if ( m_xInvenScrlBar.OnLButtonUp(ptMouse) )
  855. {
  856. return TRUE;
  857. }
  858. // 牢亥配府 扩档快甫 促绰促.
  859. if ( m_xInventoryBtn[_BTN_ID_INVENCLOSE].OnLButtonUp(ptMouse) )
  860. return TRUE;
  861. // 胶农费 Up, Down贸府.
  862. // m_xInventoryBtn[_BTN_ID_INVENSCRLUP  ].OnLButtonUp(ptMouse);
  863. // m_xInventoryBtn[_BTN_ID_INVENSCRLDOWN].OnLButtonUp(ptMouse);
  864. nInventoryNum   = GetInvenNum(ptMouse);
  865. nBeltInventoryNum = GetBeltNum(ptMouse);
  866. // 傍烹(付快胶)酒捞袍俊 厘馒芒俊辑 柯 酒捞袍捞 乐绊, 辑滚肺何磐 览翠脚龋甫 扁促府绰 吝捞 酒聪扼搁, 酒捞袍 馒侩阑 Off矫挪促.
  867. if ( pstCommonItemSet->bSetted && pstCommonItemSet->bIsEquipItem && !pstCommonItemSet->bWaitResponse )
  868. {
  869. nInventoryNum = GetInvenNum(ptMouse);
  870. if ( nInventoryNum != -1 )
  871. {
  872. g_xClientSocket.SendTakeOnOffItem(CM_TAKEOFFITEM, pstCommonItemSet->xItem.m_shCellNum, pstCommonItemSet->xItem.m_stItemInfo.stStdItem.szName, pstCommonItemSet->xItem.m_stItemInfo.nMakeIndex);
  873. pstCommonItemSet->bWaitResponse = TRUE;
  874. return FALSE;
  875. }
  876. }
  877. // 牢亥配府 伎康开俊辑 努腐茄版快.
  878. if ( nInventoryNum != -1 )
  879. {
  880. // 努腐茄牢亥配府俊 酒捞袍捞 乐阑版快.
  881. if ( m_stInventoryItem[nInventoryNum].bSetted )
  882. {
  883. // 傍烹(付快胶)酒捞袍悸捞 厚绢乐栏搁,
  884. if ( !pstCommonItemSet->bSetted )
  885. {   
  886. // 付快胶俊 酒捞袍阑 嘿牢促.
  887. SetCommonFromInven(nInventoryNum, pstCommonItemSet);
  888. }
  889. // 傍烹(付快胶)酒捞袍悸篮 乐绊, 辑滚肺何磐 览翠脚龋甫 扁促府绰 吝捞 酒聪哥, 厘馒酒捞袍捞 酒匆锭俊.
  890. else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  891. {   
  892. ChangeInvenWithCommon(nInventoryNum, pstCommonItemSet);
  893. }
  894. }
  895. // 努腐茄 牢亥配府俊 酒捞袍捞 绝阑版快.
  896. else
  897. {
  898. // 傍烹(付快胶)酒捞袍悸篮 乐绊, 辑滚肺何磐 览翠脚龋甫 扁促府绰 吝捞 酒聪搁,
  899. if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  900. {   
  901. SetInvenFromCommon(nInventoryNum, pstCommonItemSet);
  902. }
  903. }
  904. }
  905. if ( nBeltInventoryNum != -1 )
  906. {
  907. if ( m_stBeltItem[nBeltInventoryNum].bSetted )
  908. {
  909. if ( !pstCommonItemSet->bSetted )
  910. {   
  911. SetCommonFromBelt(nBeltInventoryNum, pstCommonItemSet);
  912. }
  913. else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  914. {
  915. if ( /*pstCommonItemSet->xItem.m_stItemInfo.szMakeIndex[0] == 'G' && */
  916.  (pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 0 || pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 3) )
  917. ChangeBeltWithCommon(nBeltInventoryNum, pstCommonItemSet);
  918. }
  919. }
  920. else
  921. {
  922. if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  923. {   
  924. if ( /*pstCommonItemSet->xItem.m_stItemInfo.szMakeIndex[0] == 'G' && */
  925.  (pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 0 || pstCommonItemSet->xItem.m_stItemInfo.stStdItem.bStdMode == 3) )
  926.  SetBeltFromCommon(nBeltInventoryNum, pstCommonItemSet);
  927. }
  928. }
  929. }
  930. return FALSE;
  931. }
  932. /******************************************************************************************************************
  933. 窃荐疙 : CInventoryWnd::OnLButtonDoubleClick()
  934. 累己磊 : 
  935. 累己老 : 
  936. 格利   : 
  937. 涝仿   : LPCOMMONITEMSET pstCommonItemSet
  938.          POINT ptMouse
  939. 免仿   : BOOL 
  940. [老磊][荐沥磊] : 荐沥郴侩
  941. *******************************************************************************************************************/
  942. BOOL CInventoryWnd::OnLButtonDoubleClick(LPCOMMONITEMSET pstCommonItemSet, POINT ptMouse)
  943. {
  944. INT nInventoryNum   = GetInvenNum(ptMouse);
  945. INT nBeltInventoryNum = GetBeltNum(ptMouse);
  946. if ( nInventoryNum != -1 )
  947. {
  948. // 努腐茄牢亥配府俊 酒捞袍捞 乐阑版快.
  949. if ( m_stInventoryItem[nInventoryNum].bSetted )
  950. {
  951. // 傍烹(付快胶)酒捞袍悸捞 厚绢乐栏搁,
  952. if ( !pstCommonItemSet->bSetted )
  953. {   
  954. // 付快胶俊 酒捞袍阑 嘿牢促.
  955. SetCommonFromInven(nInventoryNum, pstCommonItemSet);
  956. }
  957. // 傍烹(付快胶)酒捞袍悸篮 乐绊, 辑滚肺何磐 览翠脚龋甫 扁促府绰 吝捞 酒聪搁,
  958. else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  959. {   
  960. ChangeInvenWithCommon(nInventoryNum, pstCommonItemSet);
  961. }
  962. }
  963. }
  964. if ( nBeltInventoryNum != -1 )
  965. {
  966. if ( m_stBeltItem[nBeltInventoryNum].bSetted )
  967. {
  968. if ( !pstCommonItemSet->bSetted )
  969. {   
  970. SetCommonFromBelt(nBeltInventoryNum, pstCommonItemSet);
  971. }
  972. else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  973. {   
  974. ChangeBeltWithCommon(nBeltInventoryNum, pstCommonItemSet);
  975. }
  976. }
  977. if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse && !pstCommonItemSet->bIsEquipItem )
  978. {
  979. pstCommonItemSet->bWaitResponse = TRUE;
  980. g_xClientSocket.SendItemIndex(CM_EAT, pstCommonItemSet->xItem.m_stItemInfo.nMakeIndex, pstCommonItemSet->xItem.m_stItemInfo.stStdItem.szName);
  981. }
  982. return TRUE;
  983. }
  984. /******************************************************************************************************************
  985. 窃荐疙 : CInventoryWnd::OnMouseMove()
  986. 累己磊 : 
  987. 累己老 : 
  988. 格利   : 
  989. 涝仿   : POINT ptMouse
  990. 免仿   : VOID 
  991. [老磊][荐沥磊] : 荐沥郴侩
  992. *******************************************************************************************************************/
  993. VOID CInventoryWnd::OnMouseMove(POINT ptMouse)
  994. {
  995. m_xInventoryBtn[_BTN_ID_INVENCLOSE  ].ChangeRect(m_rcWnd.left+255, m_rcWnd.top+291);
  996. // m_xInventoryBtn[_BTN_ID_INVENSCRLUP  ].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+ 20);
  997. // m_xInventoryBtn[_BTN_ID_INVENSCRLDOWN].ChangeRect(m_rcWnd.left+247, m_rcWnd.top+167);
  998. for( INT nCnt = 0; nCnt < _MAX_INVEN_BTN; nCnt++ )
  999. m_xInventoryBtn[nCnt].OnMouseMove(ptMouse);
  1000. }
  1001. /******************************************************************************************************************
  1002. 窃荐疙 : CInventoryWnd::OnScrollDown()
  1003. 累己磊 : 
  1004. 累己老 : 
  1005. 格利   : 
  1006. 免仿   : VOID 
  1007. [老磊][荐沥磊] : 荐沥郴侩
  1008. *******************************************************************************************************************/
  1009. VOID CInventoryWnd::OnScrollDown()
  1010. {
  1011. if ( m_nStartLineNum > 0 ) m_nStartLineNum--;
  1012. }
  1013. /******************************************************************************************************************
  1014. 窃荐疙 : CInventoryWnd::OnScrollUp()
  1015. 累己磊 : 
  1016. 累己老 : 
  1017. 格利   : 
  1018. 免仿   : VOID 
  1019. [老磊][荐沥磊] : 荐沥郴侩
  1020. *******************************************************************************************************************/
  1021. VOID CInventoryWnd::OnScrollUp()
  1022. {
  1023. // if ( m_nStartLineNum < _INVEN_MAX_CELL_YCNT - _INVEN_CELL_YCNT ) m_nStartLineNum++;
  1024. if ( m_nStartLineNum < (_INVEN_MAX_CELL_YCNT-1) )
  1025. {
  1026. m_nStartLineNum++;
  1027. }
  1028. }