示例#1
0
        /// <summary>
        /// 调用对应的位置同步
        /// </summary>
        /// <param name="msgPosSync"></param>
        private void PosSync(MsgPosSync msgPosSync)
        {
            int        intanceId = msgPosSync.instanceId;
            GameObject entity    = MgrCenter.EntityMgr.GetItem(intanceId);

            if (entity != null)
            {
                PosSyncDriver posSyncDriver = entity.GetComponent <PosSyncDriver>();
                if (posSyncDriver != null)
                {
                    posSyncDriver.PosSync(msgPosSync.pos, msgPosSync.dir, msgPosSync.timeStamp);
                }
            }
        }
示例#2
0
        /// <summary>
        /// 应用内消息处理
        /// </summary>
        /// <param name="msg"></param>
        public override void ProcessEvent(MsgBase msg)
        {
            switch (msg.MsgId)
            {
            case (ushort)BuildingFightEvent.DefenseTowerAtkCreq:

                MsgInt msgInt = msg as MsgInt;
                Send(FightProtocol.DAMAGE_CREQ, msgInt.Int);

                break;

            case (ushort)BuildingFightEvent.DefenseTowerIdle:

                MsgInt msgInt2 = msg as MsgInt;
                Send(FightProtocol.IDLE_CREQ, msgInt2.Int);

                break;

            case (ushort)MoveEvent.PosSyncClientRequest:

                MsgPosSync msgPosSync = msg as MsgPosSync;
                Vector3    pos        = msgPosSync.pos;
                Vector3    dir        = msgPosSync.dir;
                Send(FightProtocol.POS_SYNC_CREQ, new PosSyncDTO(msgPosSync.instanceId, pos.x, pos.y, pos.z, dir.x, dir.y, dir.z, msgPosSync.timeStamp));

                break;

            case (ushort)SoilderFightEvent.SoilderAtkClientRequest:

                MsgAtkRequest msgAtkRequest = msg as MsgAtkRequest;
                Send(FightProtocol.ATTACK_CREQ, new AttackDTO(msgAtkRequest.attackerId, msgAtkRequest.targetId, DateTime.Now.Ticks));

                break;

            case (ushort)MoveEvent.MoveClientRequest:

                MsgMoveRequest msgMoveRequest = msg as MsgMoveRequest;
                Send(FightProtocol.MOVE_CREQ, new PathRequestDTO(msgMoveRequest.InstanceId, msgMoveRequest.SourcePos.x, msgMoveRequest.SourcePos.y, msgMoveRequest.SourcePos.z, msgMoveRequest.TargetPos.x, msgMoveRequest.TargetPos.y, msgMoveRequest.TargetPos.z));

                break;

            case (ushort)SoilderFightEvent.SoilderIdleClientRequest:

                MsgInt msgInt5 = msg as MsgInt;
                Send(FightProtocol.IDLE_CREQ, msgInt5.Int);

                break;
            }
        }