Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
    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;
        }
        }
    }