Beispiel #1
0
    internal static void OnMoveStop(object msg, NetConnection conn, NetworkSystem networkSystem)
    {
        Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop;

        if (null == move_msg)
        {
            return;
        }
    }
Beispiel #2
0
    internal static void OnMoveStop(object msg, RoomPeer peer)
    {
        Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop;

        if (null == move_msg)
        {
            return;
        }
        Msg_CRC_MoveStop bd = move_msg;

        bd.role_id = peer.RoleId;
        peer.BroadCastMsgToCareList(bd);
    }
Beispiel #3
0
        internal static void OnMoveStop(object msg, User user)
        {
            Msg_CRC_MoveStop move_msg = msg as Msg_CRC_MoveStop;

            if (null == move_msg)
            {
                return;
            }
            var msi = user.Info.GetMovementStateInfo();

            msi.StopMove();
            msi.IsMoving = false;

            if (!msi.IsSkillMoving)
            {
                float x        = move_msg.position.x;
                float z        = move_msg.position.z;
                float velocity = (float)user.Info.GetActualProperty().MoveSpeed;
                if (!user.VerifyMovingPosition(x, z, velocity, move_msg.send_time))
                {
                    //todo:记录违规次数

                    /*
                     * Msg_RC_AdjustPosition syncMsg = new Msg_RC_AdjustPosition();
                     * syncMsg.role_id = user.RoleId;
                     * syncMsg.x = x;
                     * syncMsg.z = z;
                     * user.BroadCastMsgToRoom(syncMsg, false);
                     */
                }
                msi.SetPosition2D(x, z);

                user.SampleMoveData(x, z, velocity, msi.MoveDirCosAngle, msi.MoveDirSinAngle, move_msg.send_time);
            }
            user.LastIsMoving = false;
            //LogSys.Log(LOG_TYPE.DEBUG, "MoveStop User:{0} isskillmoving:{1} ismovemeetobstacle:{2} time:{3} client time:{4}", user.RoleId, msi.IsSkillMoving, msi.IsMoveMeetObstacle, TimeUtility.GetServerMilliseconds(), move_msg.send_time);
        }