예제 #1
0
        /// <summary>
        /// Clone the specified brick.
        /// </summary>
        /// <param name="brick">Brick.</param>
        /// <param name="eventData">Event data.</param>
        public void Clone(DragableBrick brick, PointerEventData eventData)
        {
            var newBrick = BrickBuilder.Clone(brick);

            if (newBrick is DragableBrick)
            {
                dragableBrick = newBrick as DragableBrick;
                base.OnBeginDrag(dragableBrick, eventData);
            }
        }
예제 #2
0
        /// <summary>
        /// Add one more the same brick after one frame
        /// </summary>
        /// <returns>The adding.</returns>
        public IEnumerator RestartAdding(Brick brick)
        {
            yield return(null);

            var newBrick = BrickBuilder.Clone(brick);

            if (newBrick != null)
            {
                Add(newBrick, false);
            }
        }
예제 #3
0
        /// <summary>
        /// Clone selected bricks.
        /// </summary>
        /// <param name="brick">Clicked brick being selected</param>
        /// <param name="eventData">Event data.</param>
        public void CloneSelection(DragableBrick brick, PointerEventData eventData)
        {
            List <SelectableBrick> clonedBricks = new List <SelectableBrick>();
            var bricks = SelectionManager.instance.GetSelected();

            //clone bricks
            foreach (var brickToClone in bricks)
            {
                var newBrick = BrickBuilder.Clone(brickToClone);
                clonedBricks.Add(newBrick as SelectableBrick);
            }

            //start moving
            base.OnBeginDrag(clonedBricks, eventData);
        }