/** @file SkillManager.h @brief 玩家技能管理器
*	Copyright (c) 2007,第九城市游戏研发中心
*	All rights reserved.
*
*	当前版本:
*	作    者:张少东
*	完成日期:2008-05-03
*
*	取代版本:
*	作    者:
*	完成日期:
*/ #ifndef SKILLMANAGER_H #define SKILLMANAGER_H #include "CliProtocol_T.h" using namespace MUX_PROTO; //技能定义 typedef struct _tagPlayerSkill { int nID; //技能ID int nType; //技能类型 0 物理技能 1 魔法技能 string strName; //技能名称 int nLevel; //技能等级 int nSpLevel; //大于0 表示是幸运技能 int nAttDistMin; //最小施放距离 int nAttDistMax; //最大施放距离 int nRange; //范围 int nCDTime; //冷却时间 int nCurseTime; //施展时间 string strNote; //技能描述 int nUllageHp; //消耗的hp int nUllageMp; //消耗的mp int nUllageItem; //消耗的道具id int nUllageItemNum; //消耗的道具数量 int nUllageMoney; //消耗的金钱 int nUllageSp; //消耗的幸运点 string GetSkillTypeString(int iSkillType) { if (nSpLevel > 0) { return "幸运技能"; } switch (iSkillType) { case TYPE_PHYSICS: { return "物理技能"; } break; case TYPE_MAGIC: { return "魔法技能"; } break; case TYPE_ASSIST: { return "附助技能"; } break; case TYPE_SPECIAL: { return "SP技能"; } break; }; return "未定义技能"; } } PLAYERSKILL, *PPLAYERSKILL; //玩家技能管理器 class CSkillManager { public: CSkillManager(void); virtual ~CSkillManager(void); public: PPLAYERSKILL GetSkillInfo(unsigned long ulSkillID); int LoadSkillInfo(const char* szXmlFile); private: map m_SkillInfos; }; #endif