喜糖

移动开发工程师 。涉及 android、ios、jni

导航

游戏中玩家的状态分析

Posted on 2011-06-07 15:41  喜糖  阅读(377)  评论(0编辑  收藏  举报

1 玩家状态转换图:

image

2 状态分析:

   

3 类图实现,状态转换的实现

image

 

  • 玩家身上绑定一个PlayerStateManager, 这个类用来管理玩家身上的状态。管理玩家的登录、退出、切换场景等大状态。
    • state:玩家当前处于的状态
    • newState:到期后返回的状态
    • deadLine:状态到期时间
    • exitCallback:到期后的回调函数
    • canProcess():判断当前状态下是否能处理指定类型的客户端发送来的数据。如在init、connected状态下只能处理:CG_Player_LOGIN和CG_Player_Cookie_login消息
    • needSend(): 是否要向当前状态下的玩家发生消息。
    • enterState():玩家进入状态。
    • onHeartBeat():在我玩家心跳中去检查是否到期,到期后并执行状态退出callback方法。