static public int constructor(IntPtr l)
 {
     try {
         UnityEngine.UI.Extensions.ReorderableList.ReorderableListEventStruct o;
         o = new UnityEngine.UI.Extensions.ReorderableList.ReorderableListEventStruct();
         pushValue(l, o);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
        private void displaceElement(int targetIndex, Transform displaced)
        {
            _displacedFromIndex          = targetIndex;
            _displacedObjectOriginList   = _currentReorderableListRaycasted;
            _displacedObject             = displaced.GetComponent <RectTransform>();
            _displacedObjectLE           = _displacedObject.GetComponent <LayoutElement>();
            _displacedObjectOriginalSize = _displacedObject.rect.size;

            var args = new ReorderableList.ReorderableListEventStruct
            {
                DroppedObject = _displacedObject.gameObject,
                FromList      = _currentReorderableListRaycasted,
                FromIndex     = targetIndex,
            };


            int c = _fakeElement.parent == _reorderableList.Content
                ? _reorderableList.Content.childCount - 1
                : _reorderableList.Content.childCount;

            if (_reorderableList.IsDropable && c < _reorderableList.maxItems && _displacedObject.GetComponent <ReorderableListElement>().IsTransferable)
            {
                _displacedObjectLE.preferredWidth  = _draggingObjectOriginalSize.x;
                _displacedObjectLE.preferredHeight = _draggingObjectOriginalSize.y;
                _displacedObject.SetParent(_reorderableList.Content, false);
                _displacedObject.rotation = _reorderableList.transform.rotation;
                _displacedObject.SetSiblingIndex(_fromIndex);
                // Force refreshing both lists because otherwise we get inappropriate FromList in ReorderableListEventStruct
                _reorderableList.Refresh();
                _currentReorderableListRaycasted.Refresh();

                args.ToList  = _reorderableList;
                args.ToIndex = _fromIndex;
                _reorderableList.OnElementDisplacedTo.Invoke(args);
                _reorderableList.OnElementAdded.Invoke(args);
            }
            else if (_displacedObject.GetComponent <ReorderableListElement>().isDroppableInSpace)
            {
                _displacedObject.SetParent(_currentReorderableListRaycasted.DraggableArea, true);
                _currentReorderableListRaycasted.Refresh();
                _displacedObject.position += new Vector3(_draggingObjectOriginalSize.x / 2, _draggingObjectOriginalSize.y / 2, 0);
            }
            else
            {
                _displacedObject.SetParent(null, true);
                _displacedObjectOriginList.Refresh();
                _displacedObject.gameObject.SetActive(false);
            }
            _displacedObjectOriginList.OnElementDisplacedFrom.Invoke(args);
            _reorderableList.OnElementRemoved.Invoke(args);
        }
        void CancelDrag()
        {
            _isDragging = false;
            //If it's a clone, delete it
            if (_reorderableList.CloneDraggedObject)
            {
                Destroy(_draggingObject.gameObject);
            }
            //Else replace the draggedObject to his first place
            else
            {
                RefreshSizes();
                _draggingObject.SetParent(_reorderableList.Content, false);
                _draggingObject.rotation = _reorderableList.Content.transform.rotation;
                _draggingObject.SetSiblingIndex(_fromIndex);


                var args = new ReorderableList.ReorderableListEventStruct
                {
                    DroppedObject = _draggingObject.gameObject,
                    IsAClone      = _reorderableList.CloneDraggedObject,
                    SourceObject  = _reorderableList.CloneDraggedObject ? gameObject : _draggingObject.gameObject,
                    FromList      = _reorderableList,
                    FromIndex     = _fromIndex,
                    ToList        = _reorderableList,
                    ToIndex       = _fromIndex
                };

                _reorderableList.Refresh();

                _reorderableList.OnElementAdded.Invoke(args);

                if (!isValid)
                {
                    throw new Exception("Transfer is already Cancelled.");
                }
            }

            //Delete fake element
            if (_fakeElement != null)
            {
                Destroy(_fakeElement.gameObject);
                _fakeElement = null;
            }
            if (_displacedObject != null)
            {
                revertDisplacedElement();
            }
            _canvasGroup.blocksRaycasts = true;
        }
        private void revertDisplacedElement()
        {
            var args = new ReorderableList.ReorderableListEventStruct
            {
                DroppedObject = _displacedObject.gameObject,
                FromList      = _displacedObjectOriginList,
                FromIndex     = _displacedFromIndex,
            };

            if (_displacedObject.parent != null)
            {
                args.ToList  = _reorderableList;
                args.ToIndex = _fromIndex;
            }

            _displacedObjectLE.preferredWidth  = _displacedObjectOriginalSize.x;
            _displacedObjectLE.preferredHeight = _displacedObjectOriginalSize.y;
            _displacedObject.SetParent(_displacedObjectOriginList.Content, false);
            _displacedObject.rotation = _displacedObjectOriginList.transform.rotation;
            _displacedObject.SetSiblingIndex(_displacedFromIndex);
            _displacedObject.gameObject.SetActive(true);

            // Force refreshing both lists because otherwise we get inappropriate FromList in ReorderableListEventStruct
            _reorderableList.Refresh();
            _displacedObjectOriginList.Refresh();

            if (args.ToList != null)
            {
                _reorderableList.OnElementDisplacedToReturned.Invoke(args);
                _reorderableList.OnElementRemoved.Invoke(args);
            }
            _displacedObjectOriginList.OnElementDisplacedFromReturned.Invoke(args);
            _displacedObjectOriginList.OnElementAdded.Invoke(args);

            _displacedFromIndex        = -1;
            _displacedObjectOriginList = null;
            _displacedObject           = null;
            _displacedObjectLE         = null;
        }
        public void OnEndDrag(PointerEventData eventData)
        {
            _isDragging = false;

            if (_draggingObject != null)
            {
                //If we have a ReorderableList that is dropable
                //Put the dragged object into the content and at the right index
                if (_currentReorderableListRaycasted != null && _fakeElement.parent == _currentReorderableListRaycasted.Content)
                {
                    var args = new ReorderableList.ReorderableListEventStruct
                    {
                        DroppedObject = _draggingObject.gameObject,
                        IsAClone      = _reorderableList.CloneDraggedObject,
                        SourceObject  = _reorderableList.CloneDraggedObject ? gameObject : _draggingObject.gameObject,
                        FromList      = _reorderableList,
                        FromIndex     = _fromIndex,
                        ToList        = _currentReorderableListRaycasted,
                        ToIndex       = _fakeElement.GetSiblingIndex()
                    };
                    //Send OnelementDropped Event
                    if (_reorderableList && _reorderableList.OnElementDropped != null)
                    {
                        _reorderableList.OnElementDropped.Invoke(args);
                    }
                    if (!isValid)
                    {
                        CancelDrag();
                        return;
                    }
                    RefreshSizes();
                    _draggingObject.SetParent(_currentReorderableListRaycasted.Content, false);
                    _draggingObject.rotation = _currentReorderableListRaycasted.transform.rotation;
                    _draggingObject.SetSiblingIndex(_fakeElement.GetSiblingIndex());
                    // Force refreshing both lists because otherwise we get inappropriate FromList in ReorderableListEventStruct
                    _reorderableList.Refresh();
                    _currentReorderableListRaycasted.Refresh();

                    _reorderableList.OnElementAdded.Invoke(args);


                    if (_displacedObject != null)
                    {
                        finishDisplacingElement();
                    }

                    if (!isValid)
                    {
                        throw new Exception("It's too late to cancel the Transfer! Do so in OnElementDropped!");
                    }
                }

                else
                {
                    //We don't have an ReorderableList
                    if (this.isDroppableInSpace)
                    {
                        _reorderableList.OnElementDropped.Invoke(new ReorderableList.ReorderableListEventStruct
                        {
                            DroppedObject = _draggingObject.gameObject,
                            IsAClone      = _reorderableList.CloneDraggedObject,
                            SourceObject  =
                                _reorderableList.CloneDraggedObject ? gameObject : _draggingObject.gameObject,
                            FromList  = _reorderableList,
                            FromIndex = _fromIndex
                        });
                    }
                    else
                    {
                        CancelDrag();
                    }

                    //If there is no more room for the element in the target list, notify it (OnElementDroppedWithMaxItems event)
                    if (_currentReorderableListRaycasted != null)
                    {
                        if ((_currentReorderableListRaycasted.Content.childCount >=
                             _currentReorderableListRaycasted.maxItems &&
                             !_currentReorderableListRaycasted.IsDisplacable) ||
                            _currentReorderableListRaycasted.maxItems <= 0)
                        {
                            GameObject o = _draggingObject.gameObject;
                            _reorderableList.OnElementDroppedWithMaxItems.Invoke(
                                new ReorderableList.ReorderableListEventStruct
                            {
                                DroppedObject = o,
                                IsAClone      = _reorderableList.CloneDraggedObject,
                                SourceObject  = _reorderableList.CloneDraggedObject ? gameObject : o,
                                FromList      = _reorderableList,
                                ToList        = _currentReorderableListRaycasted,
                                FromIndex     = _fromIndex
                            });
                        }
                    }
                }
            }

            //Delete fake element
            if (_fakeElement != null)
            {
                Destroy(_fakeElement.gameObject);
                _fakeElement = null;
            }
            _canvasGroup.blocksRaycasts = true;
        }
Beispiel #6
0
 // Token: 0x06009E93 RID: 40595 RVA: 0x003AED2A File Offset: 0x003ACF2A
 public void OLCHHBPAACI(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("Texture2");
     Debug.Log("event" + DBIMJHMKHNK.IsAClone + "Mouse1");
 }
Beispiel #7
0
 // Token: 0x06009E90 RID: 40592 RVA: 0x003AECFE File Offset: 0x003ACEFE
 public void EKACAMCNIIH(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("_DotSize");
     Debug.Log("_Value4" + DBIMJHMKHNK.IsAClone + "[LocalizationService] Loading file: ");
 }
Beispiel #8
0
 // Token: 0x06009E8C RID: 40588 RVA: 0x003AEB54 File Offset: 0x003ACD54
 public void ONGEIEEDDMD(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("_Offsets");
     Debug.Log("Bad SegmentType passed in to CreateLineCap. Must be SegmentType.Start or SegmentType.End" + DBIMJHMKHNK.IsAClone + "settings.arcshitsoundtimedelay");
 }
Beispiel #9
0
 // Token: 0x06009E81 RID: 40577 RVA: 0x003AE78E File Offset: 0x003AC98E
 public void TestReOrderableListTarget(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("Event Received");
     Debug.Log("Hello World, is my item a clone? [" + DBIMJHMKHNK.IsAClone + "]");
 }
Beispiel #10
0
 // Token: 0x06009E89 RID: 40585 RVA: 0x003AEA2D File Offset: 0x003ACC2D
 public void BGPFAIJHMLP(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("_ScreenResolution");
     Debug.Log("_Value2" + DBIMJHMKHNK.IsAClone + "wss://");
 }
Beispiel #11
0
 // Token: 0x06009E87 RID: 40583 RVA: 0x003AE9CA File Offset: 0x003ACBCA
 public void JNGBDOMDKOJ(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("ReconnectAndRejoin() failed. Can only connect while in state 'Disconnected'. Current state: ");
     Debug.Log("cipherText" + DBIMJHMKHNK.IsAClone + "settings.enableranking");
 }
Beispiel #12
0
 // Token: 0x06009E86 RID: 40582 RVA: 0x003AE99E File Offset: 0x003ACB9E
 public void NEMFHGAGCKA(ReorderableList.ReorderableListEventStruct DBIMJHMKHNK)
 {
     Debug.Log("Texture2");
     Debug.Log("Up" + DBIMJHMKHNK.IsAClone + "PS Home");
 }
Beispiel #13
0
        public void OnEndDrag(PointerEventData eventData)
        {
            _isDragging = false;

            if (_draggingObject != null)
            {
                //If we have a, ReorderableList that is dropable
                //Put the dragged object into the content and at the right index
                if (_currentReorderableListRaycasted != null && _currentReorderableListRaycasted.IsDropable &&
                    (IsTransferable || _currentReorderableListRaycasted == _reorderableList))
                {
                    var args = new ReorderableList.ReorderableListEventStruct
                    {
                        DroppedObject = _draggingObject.gameObject,
                        IsAClone      = _reorderableList.CloneDraggedObject,
                        SourceObject  = _reorderableList.CloneDraggedObject ? gameObject : _draggingObject.gameObject,
                        FromList      = _reorderableList,
                        FromIndex     = _fromIndex,
                        ToList        = _currentReorderableListRaycasted,
                        ToIndex       = _fakeElement.GetSiblingIndex()
                    };
                    //Send OnelementDropped Event
                    if (_reorderableList && _reorderableList.OnElementDropped != null)
                    {
                        _reorderableList.OnElementDropped.Invoke(args);
                    }
                    if (!isValid)
                    {
                        CancelDrag();
                        return;
                    }
                    RefreshSizes();
                    _draggingObject.SetParent(_currentReorderableListRaycasted.Content, false);

                    _draggingObject.rotation = _currentReorderableListRaycasted.transform.rotation;
                    _draggingObject.SetSiblingIndex(_fakeElement.GetSiblingIndex());

                    _reorderableList.OnElementAdded.Invoke(args);

                    if (!isValid)
                    {
                        throw new Exception("It's too late to cancel the Transfer! Do so in OnElementDropped!");
                    }
                }
                //We don't have an ReorderableList
                else
                {
                    if (this.isDroppableInSpace)
                    {
                        _reorderableList.OnElementDropped.Invoke(new ReorderableList.ReorderableListEventStruct
                        {
                            DroppedObject = _draggingObject.gameObject,
                            IsAClone      = _reorderableList.CloneDraggedObject,
                            SourceObject  =
                                _reorderableList.CloneDraggedObject ? gameObject : _draggingObject.gameObject,
                            FromList  = _reorderableList,
                            FromIndex = _fromIndex
                        });
                    }
                    else
                    {
                        CancelDrag();
                    }
                }
            }

            //Delete fake element
            if (_fakeElement != null)
            {
                Destroy(_fakeElement.gameObject);
            }
        }