Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
KSkillManager.h
Package: SwordOnline.rar [view]
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 2k
Category:
Game Server Simulator
Development Platform:
C/C++
- #ifndef KSKILLMANAGER_H
- #define KSKILLMANAGER_H
- #include "KCore.h"
- #ifndef _STANDALONE
- #include "crtdbg.h"
- #endif
- #include "KSkills.h"
- typedef eSKillStyle eSkillStyle ;
- class KSkillManager
- {
- friend class KSkill;
- typedef struct
- {
- int m_nTabFileRowId;
- int m_nSkillStyle;
- unsigned long m_ulFirstLoadLevel;
- unsigned long m_ulMaxSkillLevel;
- } TSkillInfo;
- private:
- TSkillInfo m_SkillInfo[MAX_SKILL];
- //TOrdinSkillCommonData * m_pOrdinSkillCommonData[MAX_SKILL];
- ISkill* m_pOrdinSkill[MAX_SKILL][MAX_SKILLLEVEL];//
- private:
- ISkill* InstanceSkill( unsigned long ulSkillID, unsigned long ulSkillLevel);
- int GetSkillStyle(unsigned long ulSkill);
- public:
- KSkillManager();
- // Add By Freeway Chen in 2003.6.6
- ~KSkillManager();
- BOOL Init();
- ISkill *GetSkill(int nSkill, int nSkillLevel);
- ISkill *GetSkill(int nSkillID, int nSkillLevel, eSkillStyle eStyle);
- unsigned long GetSkillMaxLevel(int nSkill)
- {
- if (nSkill<= 0 ) return 0;
- if (nSkill <= MAX_SKILL)
- return m_SkillInfo[nSkill - 1].m_ulMaxSkillLevel;
- else
- return 0;
- };
- };
- inline int KSkillManager::GetSkillStyle(unsigned long ulSkillID)
- {
- if (m_SkillInfo[ulSkillID - 1].m_nTabFileRowId > 0)
- return m_SkillInfo[ulSkillID - 1].m_nSkillStyle;
- else
- return -1;
- }
- inline ISkill * KSkillManager::GetSkill(int nSkillID, int nSkillLevel, eSkillStyle eStyle)
- {
- ISkill * pSkill = GetSkill(nSkillID, nSkillLevel);
- if (pSkill)
- {
- if (pSkill->GetSkillStyle() == eStyle)
- return pSkill;
- }
- return NULL;
- }
- inline ISkill *KSkillManager::GetSkill(int nSkillID, int nSkillLevel)
- {
- // _ASSERT((nSkillID <= MAX_SKILL) && (nSkillID > 0));
- // _ASSERT((nSkillLevel <= MAX_SKILLLEVEL) && (nSkillLevel > 0));
- if (nSkillID > MAX_SKILL || nSkillID <= 0 || nSkillLevel <= 0 || nSkillLevel > MAX_SKILLLEVEL)
- return NULL;
- unsigned long ulSkillID = nSkillID;
- unsigned long ulSkillLevel = nSkillLevel;
- if (m_pOrdinSkill[ulSkillID - 1][ulSkillLevel - 1])
- {
- return m_pOrdinSkill[ulSkillID - 1][ulSkillLevel - 1];
- }
- return InstanceSkill(ulSkillID , ulSkillLevel);
- }
- extern KSkillManager g_SkillManager;
- #endif