public override void HandleMoveEvent(BattleUserInputS2C s2cMSG) { base.HandleMoveEvent(s2cMSG); //更新目标位置 destination = fsm.moveCMD.CMD.MousePosition.ToVector3(); fsm.agent.SetDestination(destination); }
/// <summary> /// 处理用户的输入 /// </summary> /// <param name="c2sMSG"></param> internal void HandleBattleUserInputC2S(BattleUserInputC2S c2sMSG) { BattleUserInputS2C s2cMSG = new BattleUserInputS2C(); s2cMSG.CMD = c2sMSG; Broadcast(1500, s2cMSG); //定一个间隔时间 66ms进行广播一次 100ms广播一次 }
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("请等待本次技能释放完毕"); } }
//处理每一帧的网络事件 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); } //鼠标左键 选择人物 }
public override void HandleMoveEvent(BattleUserInputS2C s2cMSG) { base.HandleMoveEvent(s2cMSG); //移动事件 }
public override void HandleCMD(BattleUserInputS2C s2cMSG) { base.HandleCMD(s2cMSG); }
public virtual void HandleSkillEvent(BattleUserInputS2C s2cMSG) { fsm.skillCMD = s2cMSG; }
public virtual void HandleMoveEvent(BattleUserInputS2C s2cMSG) { fsm.moveCMD = s2cMSG; }
public override void HandleSkillEvent(BattleUserInputS2C s2cMSG) { base.HandleSkillEvent(s2cMSG); }
/// <summary> /// 处理网络事件 /// </summary> /// <param name="s2cMSG"></param> public void HandleCMD(BattleUserInputS2C s2cMSG) { playerState[currentState].HandleCMD(s2cMSG); }
public override void HandleSkillEvent(BattleUserInputS2C s2cMSG) { base.HandleSkillEvent(s2cMSG); //进入技能的状态 fsm.ToNext(FSMState.Skill); }
//发送网络事件的玩家的FSM 处理它的事件 public void HandleCMD(BattleUserInputS2C s2cMSG) { //先确定 这条操作命令是哪个玩家发的 //然后调用它的角色控制器 -FSM状态机 去处理这个事件 playerCtrlDIC[s2cMSG.CMD.RolesID].playerFSM.HandleCMD(s2cMSG); }
public override void HandleMoveEvent(BattleUserInputS2C s2cMSG) { base.HandleMoveEvent(s2cMSG); fsm.ToNext(FSMState.Move); }
//处理存储网络事件的方法 private void HandleBattleUserInputS2C(BufferEntity response) { BattleUserInputS2C s2cMSG = ProtobufHelper.FromBytes <BattleUserInputS2C>(response.proto); awaitHandle.Enqueue(s2cMSG); }