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

📄 gameresourcemanager.h

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

#if !defined(AFX_GAMERESOURCEMANAGER_H__8C774E0A_9D8C_4535_A3B2_F847517FA424__INCLUDED_)
#define AFX_GAMERESOURCEMANAGER_H__8C774E0A_9D8C_4535_A3B2_F847517FA424__INCLUDED_

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

#include "GameResourceStruct.h"
//#include "MapChange.h"
class CMHFile;
#include "ptrlist.h"

#define GAMERESRCMNGR	USINGTON(CGameResourceManager)

class CGameResourceManager  
{
	BOOL m_bMonsterRegenLoad;
	BOOL m_bNpcRegenLoad;
	BOOL m_bMonsterListLoad;
	BOOL m_bNpcListLoad;
	BOOL m_bMonsterDropItem;
	
	DWORD m_MaxNpcChxList;
	CHXLIST* m_NpcChxList;
	
public:
	
	WORD m_TotalNpcGroupCount;
	WORD m_MaxNpcRegenCount;
	CGameResourceManager();
	virtual ~CGameResourceManager();

	//GETINSTANCE(CGameResourceManager);


	/* Á÷¾÷º° ±âº» ½ºÅÝÆ÷ÀÎÆ® */
	CharBasicStats				m_BasicStatsForJob[MAX_JOB];

	/* ¸ó½ºÅÍ Æ÷ÀÎÅÍ */	
	// 0 index»ç¿ë¾ÈÇÔ
	// second index 
	// 0 => -5, 1 => -4, 2 => -3, 3 => -2, ....
	EXPTYPE m_PLAYERxMONSTER_POINT[MAX_PLAYERLEVEL_NUM][MAX_MONSTERLEVELPOINTRESTRICT_NUM + MONSTERLEVELRESTRICT_LOWSTARTNUM + 1];
	

	/* ij¸¯ÅÍ »ý¼º ±âº» ¼öÄ¡ */
//	CharMakeCombo* InitCharMakeCombo();

	/* ij¸¯ÅÍ °æÇèÄ¡ */
	EXPTYPE m_CharacterExpPoint[MAX_CHARACTER_LEVEL_NUM];
	BOOL LoadExpPoint();
	EXPTYPE GetMaxExpPoint(LEVELTYPE level){ return m_CharacterExpPoint[level-1]; }
	/* ¸ó½ºÅÍ Æ÷ÀÎÅÍ */
	BOOL LoadPlayerxMonsterPoint();
	EXPTYPE GetPLAYERxMONSTER_POINT(LEVELTYPE level,int levelgap);

	/* ¸ó½ºÅÍ ¸®½ºÆ® */
	BOOL LoadMonsterList();

	/* Ư¼ö ¸ó½ºÅÍ µ¥ÀÌÅÍ ¸®½ºÆ®  */
	CYHHashTable<BASE_MONSTER_LIST> m_SMonsterListTable;
	void LoadSMonsterList();
	void LoadSMonsterInfo( int idx, char * fileName );
	BASE_MONSTER_LIST * GetMonsterListInfo(int idx);
	int GetMonsterIndexForName( char* pStrName );
	void ResetMonsterList();

	void GetMonsterStats(WORD wMonsterKind, monster_stats * stats);				// ¸ó½ºÅÍ °´Ã¼ ÃʱâÈ­µÉ¶§
	BOOL LoadNpcChxList();
	char* GetMonsterChxName(DWORD index);
	char* GetNpcChxName(DWORD index);
 
	BOOL LoadTacticStartInfoList();
	
	NPC_LIST m_NpcList[MAX_NPC_NUM];
	BOOL LoadNpcList(NPC_LIST* pNpcList);

	NPC_LIST* GetNpcInfo(WORD kind){return &m_NpcList[kind-1];}


	
	// ¸ÊÀüȯ/·Î±×ÀÎÆ÷ÀÎÆ® 
	BOOL LoadMapChangeArea(MAPCHANGE_INFO* pMapChangeArea);
	BOOL LoadLoginPoint(LOGINPOINT_INFO* pLogin);
	MAPCHANGE_INFO m_MapChangeArea[MAX_POINT_NUM];
	LOGINPOINT_INFO m_LoginPoint[MAX_POINT_NUM];
	void GetRegenPoint(VECTOR3& pos,VECTOR3& RandPos,WORD LoginIndex,WORD MapchangeIndex);
	void GetRegenPointFromEventMap(VECTOR3& pos,VECTOR3& RandPos,WORD LoginIndex,WORD MapchangeIndex,DWORD dwTeam);
	MAPCHANGE_INFO* GetMapChangeInfo(DWORD Kind)
	{
		for(int i = 0; i < MAX_POINT_NUM; i++)
		{
			if(m_MapChangeArea[i].Kind == Kind)
				return &m_MapChangeArea[i];
		}
		return NULL;
	}
//KES for Cheat
	MAPCHANGE_INFO* GetMapChangeInfoForDestMapNum( WORD wDestMapNum )
	{
		for(int i = 0; i < MAX_POINT_NUM; i++)
		{
			if(m_MapChangeArea[i].MoveMapNum == wDestMapNum)
				return &m_MapChangeArea[i];
		}
		return NULL;
	}
	
	LOGINPOINT_INFO* GetLoginPointInfo(DWORD Kind)
	{
		for( int i = 0; i < MAX_POINT_NUM; i++)
		{
			if(m_LoginPoint[i].Kind == Kind)
				return &m_LoginPoint[i];
		}
		return NULL;
	}
	LOGINPOINT_INFO* GetLoginPointInfoFromMapNum(WORD MapNum)
	{
		for( int i = 0; i < MAX_POINT_NUM; i++)
		{
			if(m_LoginPoint[i].MapNum == MapNum)
				return &m_LoginPoint[i];
		}
		ASSERT(0);
		return &m_LoginPoint[0];
	}
	BOOL CheckCorrectLoginPoint(VECTOR3* pos);

	BOOL LoadDeveloperInfo();
//-----------------------------------------------------------------------------------------------------------//
//		Ŭ¶óÀÌ¾ðÆ®¸¸ »ç¿ëÇÏ´Â ºÎºÐ
#ifdef _CLIENT_RESOURCE_FIELD_
//-----------------------------------------------------------------------------------------------------------//

	MOD_LIST			m_ModFileList[GENDER_MAX];
	MOD_LIST			m_HairModList[GENDER_MAX];
	MOD_LIST			m_FaceModList[GENDER_MAX];
	BOOL LoadModFileList(MOD_LIST pModList[GENDER_MAX]);
	BOOL LoadHairModFileList(MOD_LIST pHairModList[GENDER_MAX]);
	BOOL LoadFaceModFileList(MOD_LIST pFaceModList[GENDER_MAX]); //pjscode
	BOOL LoadBodyModFileList(MOD_LIST pBodyModList[GENDER_MAX]);

	GAMEDESC_INI		m_GameDesc;
	BOOL LoadGameDesc();
	
	void LoadPreDataTable();
	void DeletePreLoadData();
	void LoadPreMonsterData(sPRELOAD_INFO* pPreLoadInfo, MAPTYPE MapNum);	
	CYHHashTable<sPRELOAD_INFO>		m_PreLoadDataTable;
	sPRELOAD_INFO*	GetPreDataInfo(int MapNum)		{	return m_PreLoadDataTable.GetData(MapNum);	}
	cPtrList m_PreLoadEfflist;
	cPtrList* GetPreLoadEfflist()	{	return &m_PreLoadEfflist;	}

	void PreLoadData();	
	
	// serverlist
	SEVERLIST	m_ServerList[30];
	int			m_nMaxServerList;
	BOOL		LoadServerList();



#ifdef _TESTCLIENT_
	TESTCLIENTINFO m_TestClientInfo;
	BOOL LoadTestClientInfo();
#endif

//-----------------------------------------------------------------------------------------------------------//
#endif //_CLIENT_RESOURCE_FIELD_
//-----------------------------------------------------------------------------------------------------------//
//-----------------------------------------------------------------------------------------------------------//
//		¼­¹ö¸¸ »ç¿ëÇÏ´Â ºÎºÐ
#ifdef _SERVER_RESOURCE_FIELD_
//-----------------------------------------------------------------------------------------------------------//
	
//	void GetMonsterStats(WORD wMonsterKind, MONSTER_STATS * stats);



	MAPTYPE m_LoadingMapNum;
	MAPTYPE GetLoadMapNum()
	{
		return m_LoadingMapNum;
	}
	void SetLoadMapNum(MAPTYPE Mapnum);
	

	BOOL LoadNpcRegen(NPC_REGEN pNpcRegen[MAX_NPC_GROUPNUM][MAX_NPC_REGEN_NUM]);

	MAPCHANGE_INFO* GetMapChangeAreaValue(){return m_MapChangeArea;}
	LOGINPOINT_INFO* GetLoginPointValue(){return m_LoginPoint;}
	
	void SetNpcRegenLoadFlag(BOOL flag){m_bNpcRegenLoad = flag;}
	void SetNpcListLoadFlag(BOOL flag){m_bNpcListLoad = flag;}
	BOOL GetNpcRegenLoadFlag(){return m_bNpcRegenLoad;}
	BOOL GetNpcListLoadFlag(){return m_bNpcListLoad;}
	



//-----------------------------------------------------------------------------------------------------------//
#endif //_SERVER_RESOURCE_FIELD_
//-----------------------------------------------------------------------------------------------------------//
};
EXTERNGLOBALTON(CGameResourceManager);
#endif // !defined(AFX_GAMERESOURCEMANAGER_H__8C774E0A_9D8C_4535_A3B2_F847517FA424__INCLUDED_)

⌨️ 快捷键说明

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