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

📄 directorymanager.cpp

📁 墨香最新私服
💻 CPP
字号:
// DirectoryManager.cpp: implementation of the CDirectoryManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DirectoryManager.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLOBALTON(CDirectoryManager)
CDirectoryManager::CDirectoryManager()
{
	m_CurMode = 0;
}

CDirectoryManager::~CDirectoryManager()
{
	
}

void CDirectoryManager::Init()
{
	char root[256] = {0,};
	char temp[256] = {0,};
	GetCurrentDirectory(256,root);
	m_RootDirectory = root;

#define DM_INIT(mode,Directory)		strcpy(temp,root);		\
									strcat(temp,Directory);	\
									m_Directory[mode] = temp;
	
	if(g_bUsingEnginePack)
	{
		DM_INIT(eLM_Root				,""				);
		DM_INIT(eLM_EffectScript		,LDP_EFFECTSCRIPT);
		DM_INIT(eLM_Ini					,LDP_INI			);
		DM_INIT(eLM_Sound				,LDP_SOUND		);
		DM_INIT(eLM_Resource			,LDP_RESOURCE	);
		DM_INIT(eLM_BGM					,LDP_BGM			);
		DM_INIT(eLM_Character			,LDP_CHARACTER	);
		DM_INIT(eLM_Monster				,LDP_MONSTER		);
		DM_INIT(eLM_Npc					,LDP_NPC			);
		DM_INIT(eLM_Effect				,LDP_EFFECT		);
		DM_INIT(eLM_Map					,LDP_MAP			);
		DM_INIT(eLM_Cloud				,LDP_CLOUD		);
		DM_INIT(eLM_Minimap				,LDP_MINIMAP		);
	}
	else
	{
		DM_INIT(eLM_Root				,""				);
		DM_INIT(eLM_EffectScript		,LD_EFFECTSCRIPT);
		DM_INIT(eLM_Ini					,LD_INI			);
		DM_INIT(eLM_Sound				,LD_SOUND		);
		DM_INIT(eLM_Resource			,LD_RESOURCE	);
		DM_INIT(eLM_BGM					,LD_BGM			);
		DM_INIT(eLM_Character			,LD_CHARACTER	);
		DM_INIT(eLM_Monster				,LD_MONSTER		);
		DM_INIT(eLM_Npc					,LD_NPC			);
		DM_INIT(eLM_Effect				,LD_EFFECT		);
		DM_INIT(eLM_Map					,LD_MAP			);
		DM_INIT(eLM_Cloud				,LD_CLOUD		);
		DM_INIT(eLM_Minimap				,LD_MINIMAP		);
	}


	m_CurMode = eLM_Root;

}

void CDirectoryManager::Release()
{
	SetCurrentDirectory(m_RootDirectory);
}

void CDirectoryManager::SetLoadMode(DWORD LoadMode)
{
	ASSERT(LoadMode < eLM_Max);

	if(LoadMode == m_CurMode)
	{
		return;
	}
	
	if(LoadMode == eLM_NotChange)
	{
		return;
	}

	SetCurrentDirectory(m_Directory[LoadMode]);

	m_CurMode = LoadMode;
}

#define BEGINLD(a)		char tmp[255];	switch(a)	{	case -1:	{
#define ENDLD				}	break;		}
#define CLD(a, b)				}	break;		case (a):	{  strcpy(tmp, b);

char * CDirectoryManager::GetFullDirectoryName(DWORD mode)
{
	ASSERT(mode < eLM_Max);

	static char path[255] = {0,};

	BEGINLD(mode)
		CLD(eLM_Root, "")	
		CLD(eLM_EffectScript, LD_EFFECTSCRIPT)
		CLD(eLM_Ini, LD_INI)
		CLD(eLM_Sound, LD_SOUND, )
		CLD(eLM_Resource, LD_RESOURCE)
		CLD(eLM_BGM, LD_BGM)	
		CLD(eLM_Character, LD_CHARACTER)
		CLD(eLM_Monster, LD_MONSTER)	
		CLD(eLM_Npc, LD_NPC)	
		CLD(eLM_Effect, LD_EFFECT)
		CLD(eLM_Map, LD_MAP)		
		CLD(eLM_Cloud, LD_CLOUD)
		CLD(eLM_Minimap, LD_MINIMAP)
	ENDLD
	sprintf( path, "%s\\%s", LPCTSTR(m_RootDirectory), tmp );

	return path;
}	

⌨️ 快捷键说明

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