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

📄 cscriptmanager.cpp

📁 墨香完整原代码 C++ 值得研究 可以编译
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// cScriptManager.cpp: implementation of the cScriptManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "cScriptManager.h"

#include "../GlobalEventFunc.h"
#include "../WindowIDEnum.h"
#include "cResourceManager.h"

#include "../CharacterDialog.h"
#include "../MugongSuryunDialog.h"
#include "../MugongDialog.h"
#include "../SuryunDialog.h"
#include "../InventoryExDialog.h"
#include "../ChatDialog.h"
#include "../MoneyDlg.h"
#include "../DealDialog.h"
#include "../QuickDialog.h"
#include "../PartyMemberDlg.h"
#include "../PartyBtnDlg.h"
#include "../PartyCreateDlg.h"
#include "../PartyInviteDlg.h"
#include "../MousePointer.h"
#include "../MunpaListDialog.h"
#include "../MunpaDialog.h"
#include "../MunpaCreateDialog.h"
#include "../MiniMapDlg.h"
#include "../MunpaWareIconGridDialog.h"
#include "../PyogukDialog.h"
#include "../FriendDialog.h"
#include "../NoteDialog.h"
#include "../MiniNoteDialog.h"
#include "../MiniFriendDialog.h"
#include "../ReviveDialog.h"
#include "../MacroDialog.h"
#include "../ChatOptionDialog.h"
#include "../OptionDialog.h"
#include "../ExitDialog.h"
#include "../ExchangeDialog.h"
#include "../CharStateDialog.h"
#include "../MenuSlotDialog.h"
#include "../PKLootingDialog.h"
#include "../StreetStall.h"
#include "../NpcScriptDialog.h"
#include "../HelpDialog.h"
#include "../HelperSpeechDlg.h"
#include "../MainBarDialog.h"
#include "../ObjectGuagen.h"
#include "../cComboBoxEx.h"
#include "../CharMakeDialog.h"
#include "../MonsterGuageDlg.h"
#include "../MunpaWarehouseDialog.h"
#include "../PrivateWarehouseDialog.h"
#include "../MunpaMarkDialog.h"
#include "../cDivideBox.h"
#include "../LoadingDlg.h"
#include "../UpgradeDlg.h"
#include "../MixDialog.h"
#include "../ReinforceDlg.h"
#include "../ChannelDialog.h"
#include "../ServerListDialog.h"
#include "../WantNpcDialog.h"
#include "../WantRegistDialog.h"
#include "../QuestTotalDialog.h"
#include "../QuestDialog.h"
#include "../WantedDialog.h"
#include "../JournalDialog.h"
#include "../MPRegistDialog.h"
#include "../MPMissionDialog.h"
#include "../MPNoticeDialog.h"
#include "../MPGuageDialog.h"
#include "../ChinaAdviceDlg.h"
#include "../BailDialog.h"
#include "../DissolutionDialog.h"
#include "../GuildCreateDialog.h"
#include "../GuildDialog.h"
#include "../GuildInviteDialog.h"
#include "../GuildMarkDialog.h"
#include "../GuildLevelupDialog.h"
#include "../GuildNickNameDialog.h"
#include "../GuildRankDialog.h"
#include "../GuildWarehouseDialog.h"
//#include "../MainDialog.h"
//#include "../WearedExDialog.h"
//////////
//MurimNet
#include "../MNPlayRoomDialog.h"
#include "../MNChannelDialog.h"


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLOBALTON(cScriptManager);
cScriptManager::cScriptManager()
{
}

cScriptManager::~cScriptManager()
{

}
char * cScriptManager::GetMsg( int idx )
{
	return RESRCMGR->GetMsg(idx);
}
void cScriptManager::GetImage( CMHFile * fp, cImage * pImage )
{
	ASSERT(pImage);
	char buff[255];
	int	idx = 0;
	cImageRect rect = {0,0,0,0};

	fp->GetString(buff);
	if(buff[0] != '(')		return ;
	idx						= fp->GetInt();
	rect.left				= fp->GetLong();
	rect.top				= fp->GetLong();
	rect.right				= fp->GetLong();
	rect.bottom				= fp->GetLong();
	fp->GetString(buff);
	if(buff[0] != ')')		return ;

	GetImage( idx, pImage, &rect );	
}

void cScriptManager::GetImage( int idx, cImage * pImage, cImageRect * rect )
{
	ASSERT(pImage);

	pImage->SetSpriteObject(RESRCMGR->GetImageInfo(idx));
	IMAGE_NODE* pNode = RESRCMGR->GetInfo(idx);
	if(pNode)
		pImage->SetImageSrcSize(&pNode->size);
	pImage->SetImageSrcRect(rect);
}

void cScriptManager::GetImage( int hard_idx, cImage * pImage , ePATH_FILE_TYPE type )
{
	CMHFile fp;
	//--------------------------------------
#ifdef _FILE_BIN_
	char msg[255];
	switch( type )
	{
	case PFT_HARDPATH:
		fp.Init( FILE_IMAGE_HARD_PATH, "rb" );
		break;
	case PFT_ITEMPATH:
		fp.Init( FILE_IMAGE_ITEM_PATH, "rb" );
		break;
	case PFT_MUGONGPATH:
		fp.Init( FILE_IMAGE_MUGONG_PATH, "rb" );
		break;
	case PFT_ABILITYPATH:
		fp.Init( FILE_IMAGE_ABILITY_PATH, "rb");
		break;
	case PFT_BUFFPATH:
		fp.Init( FILE_IMAGE_BUFF_PATH, "rb");
		break;
	case PFT_MINIMAPPATH:
		fp.Init( FILE_IMAGE_MINIMAP_PATH, "rb");
		break;
	}
	for( int i = 0 ; i < hard_idx ; ++i )
	{
		fp.GetLine(msg, 255);
	}
	fp.GetInt();
//	fp.Seek(1);
#else
	char msg[255];
	switch( type )
	{
	case PFT_HARDPATH:
		fp.Init( FILE_IMAGE_HARD_PATH, "rt" );
		break;
	case PFT_ITEMPATH:
		fp.Init( FILE_IMAGE_ITEM_PATH, "rt" );
		break;
	case PFT_MUGONGPATH:
		fp.Init( FILE_IMAGE_MUGONG_PATH, "rt" );
		break;
	case PFT_ABILITYPATH:
		fp.Init( FILE_IMAGE_ABILITY_PATH, "rt");
		break;
	case PFT_BUFFPATH:
		fp.Init( FILE_IMAGE_BUFF_PATH, "rt");
		break;
	case PFT_MINIMAPPATH:
		fp.Init( FILE_IMAGE_MINIMAP_PATH, "rt");
		break;
	}
	for( int i = 0 ; i < hard_idx ; ++i )
	{
		fp.GetLine(msg, 255);
	}
	fp.GetInt();
	fp.Seek(1);
#endif
	//--------------------------------------

	int	idx = 0;
	cImageRect rect = {0,0,0,0};
	idx						= fp.GetInt();
	rect.left				= fp.GetLong();
	rect.top				= fp.GetLong();
	rect.right				= fp.GetLong();
	rect.bottom				= fp.GetLong();

	GetImage( idx, pImage, &rect );
}


cWindow * cScriptManager::GetDlgInfoFromFile(char * filePath, char* mode)
{
	CMHFile fp;
	if(!fp.Init(filePath, mode))
		return NULL;
	char buff[256]={0,};
	cWindow * dlg = NULL;
	while(1)
	{
		fp.GetString(buff);
		if(fp.IsEOF())
			break;
		if(buff[0] == '@')
		{
			fp.GetLineX(buff, 256);
			continue;
		}
		CMD_ST(buff)
		CMD_CS("$DLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$LISTDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cListDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$LISTDLGEX")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cListDialogEx), &fp);
			else
				__asm int 3;
		CMD_CS("$CHARINFODLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CCharacterDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$MUGONGSURYUNDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMugongSuryunDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$MAINDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMainBarDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$INVENTORYDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CInventoryExDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$CHATDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CChatDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$STREETSTALLDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CStreetStall), &fp);
			else
				__asm int 3;
		CMD_CS("$NPCSCRIPTDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cNpcScriptDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$HELPDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cHelpDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$CHARMAKEDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cCharMakeDlg *)GetInfoFromFile((cWindow*)(new cCharMakeDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$HELPERSPEECHDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cHelperSpeechDlg *)GetInfoFromFile((cWindow*)(new cHelperSpeechDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$MONEYDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMoneyDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$DEALDLG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CDealDialog), &fp);
			else
				__asm int 3;	
		CMD_CS("$QUICKDIALOG")
			if((fp.GetString())[0] == '{')
				dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CQuickDialog), &fp);
			else
				__asm int 3;	
		CMD_CS("$PA_MEMBER1DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_MEMBER2DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_MEMBER3DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_MEMBER4DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_MEMBER5DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_MEMBER6DLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
			else
				__asm int 3;
		CMD_CS("$PA_BTNDLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyBtnDlg *)GetInfoFromFile((cWindow*)(new CPartyBtnDlg), &fp);
			else
				__asm int 3;			
		CMD_CS("$PA_CREATEDLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyCreateDlg *)GetInfoFromFile((cWindow*)(new CPartyCreateDlg), &fp);
			else
				__asm int 3;			
		CMD_CS("$PA_INVITEDLG")
			if((fp.GetString())[0] == '{')
				dlg = (CPartyInviteDlg *)GetInfoFromFile((cWindow*)(new CPartyInviteDlg), &fp);
			else
				__asm int 3;
	
		CMD_CS("$ANI")
		if((fp.GetString())[0] == '{')
			dlg = (cAni *)GetInfoFromFile((cWindow*)(new cAni), &fp);
		else
			__asm int 3;	
		CMD_CS("$MOUSEPOINTER")
			if((fp.GetString())[0] == '{')
				dlg = (CMousePointer *)GetInfoFromFile((cWindow*)(new CMousePointer), &fp);
			else
				__asm int 3;
		CMD_CS("$MUNPALISTDLG")
			if((fp.GetString())[0] == '{')
				dlg = (CMunpaListDialog *)GetInfoFromFile((cWindow*)(new CMunpaListDialog), &fp);
			else
				__asm int 3;	
		CMD_CS("$MUNPADLG")
			if((fp.GetString())[0] == '{')
				dlg = (CMunpaDialog *)GetInfoFromFile((cWindow*)(new CMunpaDialog), &fp);
			else
				__asm int 3;	
		CMD_CS("$MUNPACREATEDLG")
			if((fp.GetString())[0] == '{')
				dlg = (CMunpaCreateDialog *)GetInfoFromFile((cWindow*)(new CMunpaCreateDialog), &fp);
			else
				__asm int 3;
		CMD_CS("$PYOGUKDLG")

⌨️ 快捷键说明

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