Example #1
0
        public void SetDragger(DraggerView draggerView)
        {
            RemoveDragger();
            if (draggerView == null)
            {
                return;
            }

            this.draggerView = draggerView;
            this.dragger     = draggerView.HitObject;
            SetParent(draggerView);

            // Override judgement end time so it doesn't go over any other nested object's start time
            // nor the dragger's end time.
            judgeEndTime = Mathf.Min(judgeEndTime, dragger.EndTime);
            foreach (var o in dragger.NestedObjects)
            {
                if (o != hitObject)
                {
                    judgeEndTime = Mathf.Min(judgeEndTime, o.StartTime);
                }
            }

            // Reset to initial position
            Position = Vector3.zero;
        }
        /// <summary>
        /// Disassociates this object from parent dragger.
        /// </summary>
        public void RemoveDragger()
        {
            if (draggerView == null)
            {
                return;
            }

            SetParent(draggerView.Parent);
            draggerView = null;
        }
        /// <summary>
        /// Sets the parent dragger view.
        /// Specifying a null dragger should be equivalent to calling RemoveDragger.
        /// </summary>
        public void SetDragger(DraggerView draggerView)
        {
            RemoveDragger();
            if (draggerView == null)
            {
                return;
            }

            this.draggerView = draggerView;
            SetParent(draggerView);

            // Reset to initial position
            SetInitialPosition();
        }