// ------------------------------------------------------------------ // Desc: // ------------------------------------------------------------------ public override void OnInspectorGUI() { // ======================================================== // exSprite Base GUI // ======================================================== base.OnInspectorGUI(); GUILayout.Space(20); // ======================================================== // init values // ======================================================== bool needRebuild = false; // ======================================================== // tileMap // ======================================================== exTileMap newTileMap = (exTileMap)EditorGUILayout.ObjectField("Tile Map" , editTileMap.tileMap , typeof(exTileMap) , false ); if (newTileMap != editTileMap.tileMap) { editTileMap.CreateTileMap(newTileMap); } // ======================================================== // color // ======================================================== editTileMap.color = EditorGUILayout.ColorField("Color", editTileMap.color); // ======================================================== // Show Grid // ======================================================== editTileMap.editorShowGrid = EditorGUILayout.Toggle("Show Grid", editTileMap.editorShowGrid); // ======================================================== // Rebuild button // ======================================================== GUI.enabled = !inAnimMode; GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Rebuild...", GUILayout.Height(20))) { needRebuild = true; } GUILayout.EndHorizontal(); GUI.enabled = true; GUILayout.Space(5); // if dirty, build it. if (!EditorApplication.isPlaying && !AnimationUtility.InAnimationMode()) { if (needRebuild) { EditorUtility.ClearProgressBar(); editTileMap.Build(); } else if (GUI.changed) { if (editTileMap.meshFilter.sharedMesh != null) { editTileMap.UpdateMesh(editTileMap.meshFilter.sharedMesh); } EditorUtility.SetDirty(editTileMap); } } }