protected override void sync(Unit unit) { if (!unit.isAgent) { return; } MsgNav msg = new MsgNav(); msg.guid = unit.guid; msg.time = RTime.R.utcTickMs; msg.state = unit.state; msg.pos = unit.pos; msg.dir = unit.dir; msg.speed = mNavDir; msg.navState = (byte)unit.move.moveState; unit.sendMsg((short)MyMsgId.Nav, msg); }
public override void onSync(MessageBase message) { if (mUnit.isAgent) { return; } MsgNav msg = message as MsgNav; if (mUnit.isServer) {//检测合法性,不合法强制拉回 //mUnit.onSyncState (msg); //msg.time = RTime.R.utcTickMs; //mUnit.sendMsg ((short)MyMsgId.Nav, msg); } mStepping = true; mSteps.Add(new Step(msg.time, msg.pos, msg.dir, msg.speed, (State)msg.navState)); }
public virtual void onSync(NetworkMessage msg) { switch (msg.msgType) { case (short)MyMsgId.State: { MsgState m = msg.ReadMessage <MsgState> (); this.onSyncState(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Nav: { MsgNav m = msg.ReadMessage <MsgNav> (); move.onSync(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Anim: { MsgAnim m = msg.ReadMessage <MsgAnim> (); anim.onSync(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Skill: { MsgSkill m = msg.ReadMessage <MsgSkill> (); if (isServer) { skill.onSync(m); } if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Attr: { MsgAttr m = msg.ReadMessage <MsgAttr> (); attr.onSync(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Buff: { MsgBuff m = msg.ReadMessage <MsgBuff> (); buff.onSync(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Move: { MsgMove m = msg.ReadMessage <MsgMove> (); move.onSyncMove(m); if (isServer) { sendMsg(msg.msgType, m); } break; } case (short)MyMsgId.Event: { MsgEvent m = msg.ReadMessage <MsgEvent> (); sendUnitEvent(m.evt, m.param); if (isServer) { sendMsg(msg.msgType, m); } break; } } }