// Display indicator of where a dragged item would go if it can protected override void OnOver() { if (DragAndDropController.IsOccupied()) { indicator.SetActive(true); indicator.transform.position = FindBlockPosition(DragAndDropController.Instance().OffsetMousePosition()); } }
public override void OnDrop() { if (DragAndDropController.IsOccupied()) { var dropped = DragAndDropController.Instance().Drop(); BehaviorLabController.GetShared().RemoveBlock(dropped); Destroy(dropped.gameObject); } }
// Override meant to place item into index corresponding to it's position (upon dropping) public override void OnDrop() { if (DragAndDropController.IsOccupied()) { if (MatchesOutputType(DragAndDropController.Instance().GetHeld())) { Block block = DragAndDropController.Instance().Drop(); int index = FindHoverIndex(block.transform.position); Insert(index + 1, block); // TODO: update position of all elements after index (including newly added element) } else { DragAndDropController.Instance().ResetDrop(); } } }