Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
68
Server/RylServerProject/RylGameLibrary/Skill/SkillMgr.h
Normal file
68
Server/RylServerProject/RylGameLibrary/Skill/SkillMgr.h
Normal file
@@ -0,0 +1,68 @@
|
||||
#ifndef _SKILL_MGR_H_
|
||||
#define _SKILL_MGR_H_
|
||||
|
||||
#define g_SkillMgr CSkillMgr::GetInstance()
|
||||
|
||||
#include <limits>
|
||||
|
||||
#include <Pattern/Singleton.h>
|
||||
#include "SkillStructure.h"
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
class CDelimitedFile;
|
||||
|
||||
|
||||
class CSkillMgr : public CSingleton<CSkillMgr>
|
||||
{
|
||||
public:
|
||||
|
||||
enum _Const
|
||||
{
|
||||
MAX_SKILL_LOCKCOUNT = 5, // <20><>ų<EFBFBD><C5B3> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŭ ProtoType<70><65> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>)
|
||||
MAX_SKILL_LEVEL = 6, // <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѱ<EFBFBD>
|
||||
|
||||
MAX_SKILL_PER_STATUS = 16, // æƮ<C3A6><C6AE> <20><>æƮ<C3A6><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
~CSkillMgr();
|
||||
|
||||
void ClearProtoType(void);
|
||||
|
||||
bool LoadSkillsFromFile(const char* szFileName = 0);
|
||||
bool LoadSkillsFromBinary(const char* szFileNameBinary = 0);
|
||||
bool SaveSkillsToBinary(const char* szFileNameBinary = 0, const char* szTrashFile = 0);
|
||||
|
||||
const Skill::ProtoType* GetSkillProtoType(unsigned short usSkill_ID);
|
||||
void GetClassSkill(unsigned char cClass, unsigned short *arySkillID, unsigned char *cSkillNum);
|
||||
|
||||
// <20>ε<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<C3BC><C5A9><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> <20><><EFBFBD><EFBFBD> üũ<C3BC><C5A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD> false<73><65> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
bool CheckData();
|
||||
|
||||
private:
|
||||
|
||||
CSkillMgr();
|
||||
|
||||
struct ProtoTypeArray
|
||||
{
|
||||
Skill::ProtoType m_ProtoTypes[MAX_SKILL_LOCKCOUNT];
|
||||
inline bool operator < (ProtoTypeArray& rhs)
|
||||
{ return m_ProtoTypes[0].m_usSkill_ID < rhs.m_ProtoTypes[0].m_usSkill_ID; }
|
||||
};
|
||||
|
||||
static const char* ms_szSkillScriptFileName;
|
||||
static CSkillMgr ms_this;
|
||||
|
||||
ProtoTypeArray* m_ProtoTypeArray;
|
||||
size_t m_nSkillNum;
|
||||
|
||||
unsigned long m_dwCRC32;
|
||||
|
||||
// <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>, <20>˸<EFBFBD><CBB8><EFBFBD> Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD>н<EFBFBD> nMaxType<70><65> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
unsigned char ReadStringToTypeValue(CDelimitedFile& DelimitedFile, const char* szColumn,
|
||||
const CTypeName* TypeArray, const unsigned char nMaxType);
|
||||
|
||||
bool CheckParentChildRule(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user