internal static void OpenTilePalette()
        {
            GridPaintPaletteWindow.OpenTilemapPalette();

            var target = Selection.activeGameObject;

            if (target != null)
            {
                if (PrefabUtility.IsPartOfPrefabAsset(target))
                {
                    var path = AssetDatabase.GetAssetPath(target);
                    if (AssetDatabase.LoadAssetAtPath <GridPalette>(path))
                    {
                        GridPaintingState.palette = AssetDatabase.LoadAssetAtPath <GameObject>(path);
                    }
                }
                else if (GridPaintingState.validTargets != null)
                {
                    var grid = target.GetComponent <GridLayout>();
                    if (grid != null)
                    {
                        foreach (var validTarget in GridPaintingState.validTargets)
                        {
                            if (validTarget == target)
                            {
                                GridPaintingState.scenePaintTarget = target;
                                break;
                            }
                        }
                    }
                }
            }
        }
 void Init(Rect buttonRect, GridPaintPaletteWindow owner)
 {
     m_Owner    = owner;
     m_CellSize = new Vector3(1, 1, 0);
     buttonRect = GUIUtility.GUIToScreenRect(buttonRect);
     ShowAsDropDown(buttonRect, new Vector2(312, 150));
 }
        private GridPaintPaletteWindow CreatePaletteWindow()
        {
            var w = EditorWindow.GetWindow <GridPaintPaletteWindow>();

            m_Window = w;
            return(w);
        }
        public void TearDown()
        {
            Object.DestroyImmediate(m_TilemapGO1);
            Object.DestroyImmediate(m_TilemapGO2);

            var paletteFullPath1 = GetPaletteFullPath(m_PaletteName1);

            if (AssetDatabase.GetAllAssetPaths().Contains(paletteFullPath1))
            {
                AssetDatabase.DeleteAsset(paletteFullPath1);
            }
            var paletteFullPath2 = GetPaletteFullPath(m_PaletteName2);

            if (AssetDatabase.GetAllAssetPaths().Contains(paletteFullPath2))
            {
                AssetDatabase.DeleteAsset(paletteFullPath2);
            }

            GridPaintActiveTargetsPreferences.restoreEditModeSelection = true;

            if (m_Window != null)
            {
                m_Window.Close();
                m_Window = null;
            }
        }
Exemple #5
0
        private GridPaintPaletteWindow CreatePaletteWindow()
        {
            var w = EditorWindow.GetWindow <GridPaintPaletteWindow>();

            w.position = new Rect(40f, 10f, 400f, 300f);
            m_Window   = w;
            return(w);
        }
Exemple #6
0
        public void TearDown()
        {
            SessionState.EraseInt(GridPaletteBrushes.s_SessionStateLastUsedBrush);
            GridPaintingState.gridBrush = GridPaletteBrushes.brushes[0];

            GridPaintActiveTargetsPreferences.restoreEditModeSelection = true;

            if (AssetDatabase.GetAllAssetPaths().Contains(path + "/" + name + ".prefab"))
            {
                AssetDatabase.DeleteAsset(path + "/" + name + ".prefab");
            }

            if (AssetDatabase.GetAllAssetPaths().Contains(path2 + "/" + name2 + ".prefab"))
            {
                AssetDatabase.DeleteAsset(path2 + "/" + name2 + ".prefab");
            }

            if (AssetDatabase.LoadAllAssetsAtPath(defaultTemporaryPalettePath).Length > 0)
            {
                AssetDatabase.DeleteAsset(defaultTemporaryPalettePath);
            }

            if (AssetDatabase.LoadAllAssetsAtPath(temporaryPalettePath).Length > 0)
            {
                AssetDatabase.DeleteAsset(temporaryPalettePath);
            }

            if (AssetDatabase.LoadAllAssetsAtPath(temporaryAssetPath).Length > 0)
            {
                AssetDatabase.DeleteAsset(temporaryAssetPath);
            }

            if (AssetDatabase.LoadAllAssetsAtPath(temporaryTilePath).Length > 0)
            {
                AssetDatabase.DeleteAsset(temporaryTilePath);
            }

            if (AssetDatabase.IsValidFolder("Assets/Temp"))
            {
                FileUtil.DeleteFileOrDirectory("Assets/Temp");
                FileUtil.DeleteFileOrDirectory("Assets/Temp.meta");
                AssetDatabase.Refresh();
            }

            GridPaletteBrushes.FlushCache();
            GridPalettes.CleanCache();

            if (m_Window != null)
            {
                m_Window.Close();
                m_Window = null;
            }
        }
Exemple #7
0
        internal static SettingsProvider CreateSettingsProvider()
        {
            var settingsProvider = new SettingsProvider("Preferences/2D/Tile Palette", SettingsScope.User, SettingsProvider.GetSearchKeywordsFromGUIContentProperties <GridPaintPaletteWindowPreferences>())
            {
                guiHandler = searchContext =>
                {
                    GridPaintPaletteWindow.PreferencesGUI();
                    GridPaintActiveTargetsPreferences.PreferencesGUI();
                }
            };

            return(settingsProvider);
        }
        internal static bool ShowAtPosition(Rect buttonRect, GridPaintPaletteWindow owner)
        {
            // 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 = System.DateTime.Now.Ticks / System.TimeSpan.TicksPerMillisecond;
            bool justClosed      = nowMilliSeconds < s_LastClosedTime + 50;

            if (!justClosed)
            {
                Event.current.Use();
                if (s_Instance == null)
                {
                    s_Instance = ScriptableObject.CreateInstance <GridPaletteAddPopup>();
                }

                s_Instance.Init(buttonRect, owner);
                return(true);
            }
            return(false);
        }