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()); } }
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(); } }