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

📄 questdialog.h

📁 墨香最新私服
💻 H
字号:
// QuestDialog.h: interface for the CQuestDialog class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_QUESTDIALOG_H__D2442456_1B87_4348_80E9_C018D23A7B3D__INCLUDED_)
#define AFX_QUESTDIALOG_H__D2442456_1B87_4348_80E9_C018D23A7B3D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "./Interface/cIconDialog.h"
#include "IndexGenerator.h"
#include "..\[CC]Quest\QuestDefines.h"


class cPushupButton;
class cListDialog;
class cStatic;
class cPtrList;
class CQuestString;
class cIconGridDialog;
class cIcon;
class cMsgBox;


struct QuestInfo
{
	CQuestString*	pQString;
	SUBQUEST		sSubQuest;

	QuestInfo::QuestInfo()
	{
		pQString = NULL;
		memset(&sSubQuest, 0, sizeof(sSubQuest));
	}
	QuestInfo::~QuestInfo()
	{
		pQString = NULL;
	}
};

struct QuestTree
{
	DWORD		State;
	DWORD		Count;
	DWORD		QuestIdx;
	DWORD		SubQuestIdx;
	cPtrList	list;

	QuestTree()
	{
		State = eQTree_NotUse;
		Count = 0;
		QuestIdx = 0;		
	}
	~QuestTree()
	{
		list.RemoveAll();
	}
};

struct sQuestItem
{
	cIcon*				pIcon;
	QUEST_ITEM_INFO*	pQuestItemInfo;
	DWORD				Count;
	WORD				Pos;

	sQuestItem()
	{
		pIcon = NULL;
		pQuestItemInfo = NULL;
		Count = 0;
		Pos = -1;
	}
	~sQuestItem()
	{
		pIcon = NULL;
		pQuestItemInfo = NULL;
	}
};


class CQuestDialog : public cIconDialog
{
	cPushupButton*		m_pPageBtn[MAX_QUEST_PAGEBTN];
	cIconGridDialog*	m_pIconGridDlg;
	cListDialog*		m_pQuestListDlg;

	int					m_SelectedQuestID;
	cMsgBox*			m_pMsgBox;				// 皋技瘤 冠胶啊 栋乐绰瘤 窜瘤 犬牢窍扁 困秦辑
	int					m_QuestItemCount;
	int					m_QuestItemPage;
	int					m_TooltipIdx;
	cPtrList			m_QuestItemList;

	CIndexGenerator		m_IndexGenerator;

	DWORD			State;
	int				m_QTreeCount;	
	cPtrList		m_QuestTree;

	// 急琶等 扼牢狼 祸阑  官层林绰扒单.. 捞赤籍甸 锭巩俊.. 瘤历盒窍促.. 
	// 亮篮 规过捞 积扁搁 官操磊..
	int				m_QListCount;
	int				m_ChangedRow;
	int				m_PreSelectedIdx;
	int				m_ListLineIdx;
	int				m_toPreList;
	CQuestString*	m_QuestList[MAX_PROCESSQUEST];
	CQuestString*	m_PreDescQuestString;


public:
	CQuestDialog();
	virtual ~CQuestDialog();	
	virtual DWORD ActionEvent(CMouse * mouseInfo);

	void	Linking();
	void	Render();

	// QuestInfo
	void	ProcessQuestAdd(CQuestString* pQuestString);
	void	ProcessQuestDelete(CQuestString* pQuestString);
	void	CompleteQuestDelete(CQuestString* pQuestString);
//	BOOL	CheckMainQuestList(CQuestString* pQuestString);

	void	QuestListAdd(CQuestString* pQuestString, int SubID=0);
	void	QuestListReset();

	DWORD	GetSelectedQuestID()		{	return m_SelectedQuestID;	}
	void	CloseMsgBox()				{	m_pMsgBox = NULL;	}
	void	GiveupQuestDelete(DWORD QuestIdx);

	// QuestItem
	void	QuestItemAdd(QUEST_ITEM_INFO* pQuestItemInfo, DWORD Count);
	void	QuestItemDelete(DWORD ItemIdx);
	DWORD	QuestItemUpdate(DWORD type, DWORD ItemIdx, DWORD data);
	void	RefreshQuestItem(DWORD Page);

	// QuestLoad Confirm
	void	CheckQuestDate();


protected:
	void	MainQuestAdd(CQuestString* pQuestString);
	void	SubQuestAdd(CQuestString* pQuestString);
	void	AddTooltipInfo(char* pString, cIcon* pIcon);

	void	AddListEmptyLine();
	
	void	ShowItemToolTip(DWORD Index);
	void	QuestTreeStateCheck(int RowIdx);
	void	QuestDescView(CQuestString* pQuestString);

};

#endif // !defined(AFX_QUESTDIALOG_H__D2442456_1B87_4348_80E9_C018D23A7B3D__INCLUDED_)

⌨️ 快捷键说明

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