Пример #1
0
 public override void HandleMoveEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleMoveEvent(s2cMSG);
     //更新目标位置
     destination = fsm.moveCMD.CMD.MousePosition.ToVector3();
     fsm.agent.SetDestination(destination);
 }
Пример #2
0
        /// <summary>
        /// 处理用户的输入
        /// </summary>
        /// <param name="c2sMSG"></param>
        internal void HandleBattleUserInputC2S(BattleUserInputC2S c2sMSG)
        {
            BattleUserInputS2C s2cMSG = new BattleUserInputS2C();

            s2cMSG.CMD = c2sMSG;

            Broadcast(1500, s2cMSG);
            //定一个间隔时间 66ms进行广播一次  100ms广播一次
        }
Пример #3
0
 public override void HandleSkillEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleSkillEvent(s2cMSG);
     //如果是技能的事件
     //点燃 治疗 护盾 -->可以叠加的技能
     if (fsm.skillCMD.CMD.Key == KeyCode.D.GetHashCode())
     {
     }
     else if (fsm.skillCMD.CMD.Key == KeyCode.D.GetHashCode())
     {
     }
     else
     {
         Debug.Log("请等待本次技能释放完毕");
     }
 }
Пример #4
0
 //处理每一帧的网络事件
 public virtual void HandleCMD(BattleUserInputS2C s2cMSG)
 {
     if (s2cMSG.CMD.Key == KeyCode.A.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.Q.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.W.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.E.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.R.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.D.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.F.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.B.GetHashCode())
     {
         HandleSkillEvent(s2cMSG);
     }
     else if (s2cMSG.CMD.Key == KeyCode.Mouse1.GetHashCode())
     {
         //移动
         HandleMoveEvent(s2cMSG);
     }
     //鼠标左键 选择人物
 }
Пример #5
0
 public override void HandleMoveEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleMoveEvent(s2cMSG);
     //移动事件
 }
Пример #6
0
 public override void HandleCMD(BattleUserInputS2C s2cMSG)
 {
     base.HandleCMD(s2cMSG);
 }
Пример #7
0
 public virtual void HandleSkillEvent(BattleUserInputS2C s2cMSG)
 {
     fsm.skillCMD = s2cMSG;
 }
Пример #8
0
 public virtual void HandleMoveEvent(BattleUserInputS2C s2cMSG)
 {
     fsm.moveCMD = s2cMSG;
 }
Пример #9
0
 public override void HandleSkillEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleSkillEvent(s2cMSG);
 }
Пример #10
0
 /// <summary>
 /// 处理网络事件
 /// </summary>
 /// <param name="s2cMSG"></param>
 public void HandleCMD(BattleUserInputS2C s2cMSG)
 {
     playerState[currentState].HandleCMD(s2cMSG);
 }
Пример #11
0
 public override void HandleSkillEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleSkillEvent(s2cMSG);
     //进入技能的状态
     fsm.ToNext(FSMState.Skill);
 }
Пример #12
0
 //发送网络事件的玩家的FSM 处理它的事件
 public void HandleCMD(BattleUserInputS2C s2cMSG)
 {
     //先确定 这条操作命令是哪个玩家发的
     //然后调用它的角色控制器 -FSM状态机 去处理这个事件
     playerCtrlDIC[s2cMSG.CMD.RolesID].playerFSM.HandleCMD(s2cMSG);
 }
Пример #13
0
 public override void HandleMoveEvent(BattleUserInputS2C s2cMSG)
 {
     base.HandleMoveEvent(s2cMSG);
     fsm.ToNext(FSMState.Move);
 }
Пример #14
0
    //处理存储网络事件的方法
    private void HandleBattleUserInputS2C(BufferEntity response)
    {
        BattleUserInputS2C s2cMSG = ProtobufHelper.FromBytes <BattleUserInputS2C>(response.proto);

        awaitHandle.Enqueue(s2cMSG);
    }