Example #1
0
        void CheckInit()
        {
            if (data == null)
            {
                var rulerGameObject = GameObject.Find("RulerData");

                if (rulerGameObject == null)
                {
                    rulerGameObject           = new GameObject("RulerData");
                    rulerGameObject.hideFlags = HideFlags.DontUnloadUnusedAsset | HideFlags.DontSaveInBuild;
                    data = rulerGameObject.AddComponent <RulerData>();

                    if (!Application.isPlaying)
                    {
                        EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
                    }
                }
                else
                {
                    data = rulerGameObject.GetComponent <RulerData>();
                }

                scrollPos = Vector2.zero;

                headerStyle           = new GUIStyle(EditorStyles.label);
                headerStyle.alignment = TextAnchor.MiddleCenter;
                headerStyle.fontSize  = 14;

                miniButtonStyle = new GUIStyle(EditorStyles.miniButton);

                boldStyle = new GUIStyle(EditorStyles.boldLabel);

                groupFoldoutStyle           = new GUIStyle(EditorStyles.foldout);
                groupFoldoutStyle.fontStyle = FontStyle.Bold;

                labelStyle.fontSize         = 14;
                labelStyle.fontStyle        = FontStyle.Bold;
                labelStyle.normal.textColor = new Color(.8f, .8f, .8f);
                var backtexture = new Texture2D(1, 1);
                backtexture.wrapMode = TextureWrapMode.Repeat;
                backtexture.SetPixel(0, 0, new Color(0f, 0f, 0f, 0f));
                backtexture.Apply();
                labelStyle.normal.background = backtexture;

                toolbarStyle          = new GUIStyle(EditorStyles.toolbarButton);
                toolbarStyle.fontSize = 11;
                toolbarStrings        = new string[] { "Hide All", "Show All" };

                toggleStyle            = new GUIStyle(EditorStyles.toggle);
                toggleStyle.fixedWidth = 20;

                precisionStr = "0." + new string('0', data.precision);

                InstanceGUIContent();
            }
        }
Example #2
0
        private void OnDestroy()
        {
            SceneView.onSceneGUIDelegate -= OnSceneGUI;
            data = null;

            selectionSet     = null;
            newSet           = null;
            deleteSet        = null;
            selectionOrdered = null;
        }
Example #3
0
        void ResetData()
        {
            if (EditorUtility.DisplayDialog("Rulers Reset Data", "Are you sure you want reset?", "Yes", "No"))
            {
                var rulerGameObject = GameObject.Find("RulerData");
                if (rulerGameObject != null)
                {
                    DestroyImmediate(rulerGameObject);
                    data = null;
                }

                CheckInit();
            }
        }
Example #4
0
 private void OnHierarchyChange()
 {
     // manualy check to see if the scene has changed
     // if so reload the data
     if (currentScene != EditorSceneManager.GetActiveScene())
     {
         currentScene = EditorSceneManager.GetActiveScene();
         data         = null;
         selectionSet.Clear();
         newSet.Clear();
         deleteSet.Clear();
         selectionOrdered.Clear();
         CheckInit();
     }
 }