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); } }
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(); } }