Example #1
0
        private void Init(Rect buttonRect, SpriteFrameModule sf, ITextureDataProvider dataProvider)
        {
            // Create for once if setting was not created before.
            if (s_Setting == null)
            {
                s_Setting = CreateInstance <SpriteEditorMenuSetting>();
            }

            m_SpriteFrameModule   = sf;
            m_TextureDataProvider = dataProvider;

            buttonRect = GUIUtility.GUIToScreenRect(buttonRect);
            float windowHeight = 195;
            var   windowSize   = new Vector2(300, windowHeight);

            ShowAsDropDown(buttonRect, windowSize);

            Undo.undoRedoPerformed += UndoRedoPerformed;
        }
Example #2
0
        internal static bool ShowAtPosition(Rect buttonRect, SpriteFrameModule sf, ITextureDataProvider textureProvider)
        {
            // We could not use realtimeSinceStartUp since it is set to 0 when entering/exitting playmode, we assume an increasing time when comparing time.
            long nowMilliSeconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
            bool justClosed      = nowMilliSeconds < s_LastClosedTime + 50;

            if (!justClosed)
            {
                if (UnityEvent.current != null) // Event.current can be null during integration test
                {
                    UnityEvent.current.Use();
                }

                SpriteEditorMenu spriteEditorMenu = CreateInstance <SpriteEditorMenu>();
                spriteEditorMenu.Init(buttonRect, sf, textureProvider);
                return(true);
            }
            return(false);
        }
        // implements ISpriteEditorModule

        public override void OnModuleActivate()
        {
            spriteImportMode      = SpriteFrameModule.GetSpriteImportMode(spriteEditor.GetDataProvider <ISpriteEditorDataProvider>());
            m_TextureDataProvider = spriteEditor.GetDataProvider <ITextureDataProvider>();
            m_SpriteDataProvider  = spriteEditor.GetDataProvider <ISpriteEditorDataProvider>();
            int width, height;

            m_TextureDataProvider.GetTextureActualWidthAndHeight(out width, out height);
            textureActualWidth       = width;
            textureActualHeight      = height;
            m_RectsCache             = ScriptableObject.CreateInstance <SpriteRectModel>();
            m_RectsCache.hideFlags   = HideFlags.HideAndDontSave;
            m_RectsCache.spriteRects = m_SpriteDataProvider.GetSpriteRects().ToList();
            spriteEditor.spriteRects = m_RectsCache.spriteRects;
            if (spriteEditor.selectedSpriteRect != null)
            {
                spriteEditor.selectedSpriteRect = m_RectsCache.spriteRects.FirstOrDefault(x => x.spriteID == spriteEditor.selectedSpriteRect.spriteID);
            }
            AddMainUI(spriteEditor.GetMainVisualContainer());
            undoSystem.RegisterUndoCallback(UndoCallback);
        }
 public override bool CanBeActivated()
 {
     return(SpriteFrameModule.GetSpriteImportMode(spriteEditorWindow.GetDataProvider <ISpriteEditorDataProvider>()) != SpriteImportMode.None);
 }
Example #5
0
 public SpriteFrameModuleContext(SpriteFrameModule spriteFrame)
 {
     m_SpriteFrameModule = spriteFrame;
 }
 public override bool CanBeActivated()
 {
     return(SpriteFrameModule.GetSpriteImportMode(spriteEditor.GetDataProvider <ISpriteEditorDataProvider>()) == SpriteImportMode.Polygon);
 }