Пример #1
0
        public bool?PreLoadImage(TrackCallback Callback)
        {
            if (cover != null)
            {
                callbacks.Add(Callback);
                return(true);
            }
            else if (_coverLoadAttempted)
            {
                return(false);
            }
            else if (loadingImage)
            {
                callbacks.Add(Callback);
                return(null);
            }

            loadingImage = true;

            callbacks.Add(Callback);

            Thread t = new System.Threading.Thread(preLoadImage);

#if DEBUG
            t.Name = "Preload Image Thread";
#endif
            t.Priority     = ThreadPriority.Normal;
            t.IsBackground = true;
            t.Start();

            return(null);
        }
Пример #2
0
        /// <summary>
        /// Add a notification callback of track type to the notification center.
        /// </summary>
        /// <param name="notificationType">Notification type</param>
        /// <param name="trackCallback">Callback function to call when event gets triggered</param>
        /// <returns>int | 0 for invalid notification type, -1 for adding existing notification
        /// or the notification id of newly added notification.</returns>
        public int AddNotification(NotificationType notificationType, TrackCallback trackCallback)
        {
            if (!IsNotificationTypeValid(notificationType, NotificationType.Track))
            {
                return(0);
            }

            return(AddNotification(notificationType, (object)trackCallback));
        }
 public override void resetProperty()
 {
     base.resetProperty();
     mTarget        = null;
     mDoneCallback  = null;
     mDoingCallback = null;
     mOffset        = Vector3.zero;
     mSpeed         = 0.0f;
 }
 public override void init()
 {
     base.init();
     mTarget           = null;
     mDoneCallback     = null;
     mTrackingCallback = null;
     mOffset           = Vector3.zero;
     mSpeed            = 0.0f;
 }
Пример #5
0
    public virtual void setMoveDoneTrack(Transformable target, TrackCallback doneCallback, bool callLast = true)
    {
        TrackCallback tempCallback = mDoneCallback;

        mDoneCallback = null;
        // 如果回调函数当前不为空,则是中断了正在进行的变化
        if (callLast)
        {
            tempCallback?.Invoke(this, true);
        }
        mDoneCallback = doneCallback;
        mTarget       = target;
        if (mTarget == null)
        {
            setActive(false);
        }
    }
Пример #6
0
 public void setTrackingCallback(TrackCallback callback)
 {
     mTrackingCallback = callback;
 }