MMORPG大型游戏设计与开发(客户端架构 part7 of vegine)

我在讲述某个东西的时候总喜欢从简单的入手,然后从互相关联的地方联合讲解,因为时间关系所以没能讲的十分详细,这点引以为憾,希望得到大家的谅解。这一节讲述的是微引擎(vengine)比较简单的一个模块,那便是鼠标指针的模块,方法也提供的不多,相信大多数熟悉VC的朋友们已经掌握了这方面的知识,我也就不在此班门弄虎了。

CODE

  文件system.h

/**

 * PAP Engine ( -- )

 * $Id system.h

 * @link -- for the canonical source repository

 * @copyright Copyright (c) 2013-2014 viticm( [email protected] )

 * @license

 * @user viticm<[email protected]/[email protected]>

 * @date 2014-3-19 16:52:24

 * @uses vengine cursor system module

 */

#ifndef VENGINE_CURSOR_SYSTEM_H_

#define VENGINE_CURSOR_SYSTEM_H_



#include "vengine/config.h"

#include "vengine/kernel/node.h"



namespace vengine_cursor {



typedef enum {

  kTypeWinBase = 0,

  kTypeNormal, //普通

  kTypeAutoRun, //自动行走中

  kTypeAttack, //攻击中

  kTypePickup, //拾取物品

  kTypeUnreachable, //区域无法访问

  kTypeMine, //采矿

  kTypeHerbs, //采药

  kTypeTalk, //对话

  kTypeInteract, //齿轮

  kTypeRepiar, //修理

  kTypeHover, //鼠标激活(挂接物品)

  kTypeIdentify, //鉴定

  kTypeRing, //技能环

  kTypeDirection, //方向

  kTypeNumber

} type_enum; //指针类型定义



class VENGINE_API System : public vengine_kernel::Node {



VENGINE_KERNEL_DECLARE_DYNAMIC(vengine_cursor_System);



 public:

   virtual void set(type_enum type) = 0;

   virtual HCURSOR get() = 0;



   /* enter ui control model */

   virtual void enterui(HCURSOR hcursor) = 0;

   virtual void leaveui() = 0;



   /* 应WM_SETCURSOR */

   virtual void onset() = 0;

   /* 显示或隐藏 */

   virtual void show(bool flag) = 0;



};



}; //namespace vengine_cursor



#endif //VENGINE_CURSOR_SYSTEM_H_

 

总结

  这一节我也不做详细的介绍,代码中几个简单的方法,想必已经相对清晰了,以后会再更新这些方面的详细解说。下一节讲解的也是一个非常简单的模块,脚本(LUA)模块。

你可能感兴趣的:(part)