Ejemplo n.º 1
0
        private static void CreateWaterGrid()
        {
            GameObject obj = new GameObject("Water Grid", typeof(WaterGrid));

            Undo.RegisterCreatedObjectUndo(obj, "Created Water Grid");

            WaterGrid grid = obj.GetComponent <WaterGrid>();

            grid.Recreate();

            Selection.activeObject = obj;

            if (Application.isPlaying == false)
            {
                EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
            }
        }
Ejemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            vertexCount = Mathf.FloorToInt(((script.scale / script.rowsColumns) / script.vertexDistance) * ((script.scale / script.rowsColumns) / script.vertexDistance));
            if (vertexCount > 65535)
            {
                EditorGUILayout.HelpBox("Vertex count of individual tiles is too high. Increase the vertex distance, decrease the grid scale, or add more rows/columns", MessageType.Error);
            }

            EditorGUI.BeginChangeCheck();

            if (script.material == null)
            {
                EditorGUILayout.HelpBox("A material must be assigned", MessageType.Error);
            }

            base.OnInspectorGUI();

            //Executed here since objects can't be destroyed from OnValidate
            if (EditorGUI.EndChangeCheck())
            {
                script.Recreate();
            }
        }