Example #1
0
        internal static Msg_RC_UserMove BuildUserMoveMessage(UserInfo user)
        {
            Msg_RC_UserMove userMoveBuilder = new Msg_RC_UserMove();

            if (user.GetMovementStateInfo().IsMoving)
            {
                userMoveBuilder.role_id        = user.GetId();
                userMoveBuilder.is_moving      = true;
                userMoveBuilder.move_direction = (float)user.GetMovementStateInfo().GetMoveDir();
                userMoveBuilder.face_direction = (float)user.GetMovementStateInfo().GetFaceDir();
                userMoveBuilder.cur_pos_x      = user.GetMovementStateInfo().GetPosition3D().X;
                userMoveBuilder.cur_pos_z      = user.GetMovementStateInfo().GetPosition3D().Z;
                UserAiStateInfo data = user.GetAiStateInfo();
                userMoveBuilder.target_pos_x         = user.GetMovementStateInfo().TargetPosition.X;
                userMoveBuilder.target_pos_z         = user.GetMovementStateInfo().TargetPosition.Z;
                userMoveBuilder.velocity_coefficient = (float)user.VelocityCoefficient;
            }
            else
            {
                userMoveBuilder.role_id   = user.GetId();
                userMoveBuilder.is_moving = false;
                userMoveBuilder.cur_pos_x = user.GetMovementStateInfo().GetPosition3D().X;
                userMoveBuilder.cur_pos_z = user.GetMovementStateInfo().GetPosition3D().Z;
            }
            return(userMoveBuilder);
        }
Example #2
0
    internal static void Execute(object msg, NetConnection conn, NetworkSystem networkSystem)
    {
        Msg_RC_UserMove targetmsg = msg as Msg_RC_UserMove;

        if (null == targetmsg)
        {
            return;
        }
    }
        private void OnUserMove(UserInfo user)
        {
            Scene scene = user.SceneContext.CustomData as Scene;

            if (null != scene)
            {
                Msg_RC_UserMove userMoveBuilder = DataSyncUtility.BuildUserMoveMessage(user);
                if (null != userMoveBuilder)
                {
                    scene.NotifyAreaUser(user, userMoveBuilder, false);
                }
            }
        }