Beispiel #1
0
 private void Awake()
 {
     m_editor = IOC.Resolve <IRTE>();
     m_loader = IOC.Resolve <IObjectEditorLoader>();
     if (m_loader == null)
     {
         m_loader = m_editor.Root.gameObject.AddComponent <ObjectEditorLoader>();
     }
 }
Beispiel #2
0
        private bool CanDrop()
        {
            if (m_editor.DragDrop.DragObjects == null || m_editor.DragDrop.DragObjects.Length == 0)
            {
                return(false);
            }

            IObjectEditorLoader loader = IOC.Resolve <IObjectEditorLoader>();

            return(loader.GetObjectType(m_editor.DragDrop.DragObjects[0], typeof(Texture2D)) == typeof(Texture2D));
        }
Beispiel #3
0
        protected override void AwakeOverride()
        {
            base.AwakeOverride();
            BtnSelect.onClick.AddListener(OnSelect);

            m_localization = IOC.Resolve <ILocalization>();
            m_loader       = IOC.Resolve <IObjectEditorLoader>();
            if (m_loader == null)
            {
                m_loader = Editor.Root.gameObject.AddComponent <ObjectEditorLoader>();
            }
        }
Beispiel #4
0
        public void OnPointerEnter(PointerEventData eventData)
        {
            if (!m_editor.DragDrop.InProgress)
            {
                return;
            }

            IObjectEditorLoader loader = IOC.Resolve <IObjectEditorLoader>();

            if (CanDrop())
            {
                m_editor.DragDrop.SetCursor(Utils.KnownCursor.DropAllowed);
            }
            else
            {
                m_editor.DragDrop.SetCursor(Utils.KnownCursor.DropNotAllowed);
            }

            IsPointerOver = true;
        }
        private void OnDrop(object sender, System.EventArgs e)
        {
            IObjectEditorLoader loader = IOC.Resolve <IObjectEditorLoader>();

            loader.Load(m_dropArea.Editor.DragDrop.DragObjects[0], typeof(Texture2D), obj =>
            {
                if (m_property != null && m_target != null)
                {
                    IRTE rte = IOC.Resolve <IRTE>();
                    if (m_enableUndo)
                    {
                        rte.Undo.BeginRecordValue(m_target, m_property);
                    }
                    m_property.SetValue(m_target, obj);
                    if (m_enableUndo)
                    {
                        rte.Undo.EndRecordValue(m_target, m_property);
                    }
                    Texture = obj as Texture2D;
                }
            });
        }