void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
        {
            if (!Editor.DragDrop.InProgress)
            {
                return;
            }
            object dragObject = Editor.DragDrop.DragObjects[0];
            Type   type       = null;

            if (dragObject is ExposeToEditor)
            {
                ExposeToEditor exposeToEditor = (ExposeToEditor)dragObject;
                GameObject     go             = exposeToEditor.gameObject;
                type = ToType(go);
            }
            else if (dragObject is GameObject)
            {
                type = ToType((GameObject)dragObject);
            }
            else if (dragObject is AssetItem)
            {
                AssetItem assetItem = (AssetItem)dragObject;
                IProject  project   = IOC.Resolve <IProject>();
                type = project.ToType(assetItem);
            }

            if (type != null && MemberInfoType.IsAssignableFrom(type))
            {
                Editor.DragDrop.Drop -= OnDrop;
                Editor.DragDrop.Drop += OnDrop;
                ShowDragHighlight();
                Editor.DragDrop.SetCursor(Utils.KnownCursor.DropAllowed);
            }
        }
Example #2
0
        protected override IList Resize(IList list, int size)
        {
            int  delta  = size - list.Count;
            bool remove = delta < 0;

            IList newList = (IList)Activator.CreateInstance(MemberInfoType, list);

            Type elementType = MemberInfoType.GetGenericArguments()[0];

            if (remove)
            {
                for (int i = 0; i < -delta; ++i)
                {
                    newList.RemoveAt(newList.Count - 1);
                }
            }
            else
            {
                for (int i = 0; i < delta; ++i)
                {
                    newList.Add(Reflection.GetDefault(elementType));
                }
            }

            return(newList);
        }
        //private void OnGlobalBeginDrag()
        //{
        //    if(m_isPointerOver)
        //    {
        //        if (DragDrop.DragObject != null && MemberInfoType.IsAssignableFrom(DragDrop.DragObject.GetType()))
        //        {
        //            ShowDragHighlight();
        //        }
        //    }
        //}

        //private void OnGlobalDrop()
        //{
        //    if (m_isPointerOver)
        //    {
        //        if (DragDrop.DragObject != null && MemberInfoType.IsAssignableFrom(DragDrop.DragObject.GetType()))
        //        {
        //            SetValue(DragDrop.DragObject);
        //            EndEdit();
        //            SetInputField(DragDrop.DragObject);
        //            HideDragHighlight();
        //        }
        //    }
        //}

        void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
        {
            m_isPointerOver = true;
            if (DragDrop.DragObject != null && MemberInfoType.IsAssignableFrom(DragDrop.DragObject.GetType()))
            {
                ShowDragHighlight();
            }
        }
 private void OnGlobalBeginDrag()
 {
     if (m_isPointerOver)
     {
         if (DragDrop.DragItem != null && MemberInfoType.IsAssignableFrom(DragDrop.DragItem.GetType()))
         {
             ShowDragHighlight();
         }
     }
 }
 private void OnGlobalDrop()
 {
     if (m_isPointerOver)
     {
         if (DragDrop.DragItem != null && MemberInfoType.IsAssignableFrom(DragDrop.DragItem.GetType()))
         {
             SetValue(DragDrop.DragItem);
             EndEdit();
             SetInputField(DragDrop.DragItem);
             HideDragHighlight();
         }
     }
 }
        void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
        {
            if (!Editor.DragDrop.InProgress)
            {
                return;
            }
            object dragObject = Editor.DragDrop.DragObjects[0];
            Type   type       = m_loader.GetObjectType(dragObject, MemberInfoType);

            if (type != null && MemberInfoType.IsAssignableFrom(type))
            {
                Editor.DragDrop.Drop -= OnDrop;
                Editor.DragDrop.Drop += OnDrop;
                ShowDragHighlight();
                Editor.DragDrop.SetCursor(Utils.KnownCursor.DropAllowed);
            }
        }
 public AuthorizeMemberAttribute(MemberInfoType mInfoType = MemberInfoType.OnlyId)
 {
     infoType = mInfoType;
 }
 void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
 {
     if (Editor.DragDrop.InProgress && Editor.DragDrop.DragObjects[0] != null && MemberInfoType.IsAssignableFrom(Editor.DragDrop.DragObjects[0].GetType()))
     {
         Editor.DragDrop.Drop -= OnDrop;
         Editor.DragDrop.Drop += OnDrop;
         ShowDragHighlight();
     }
 }