UpdateMesh() public method

public UpdateMesh ( Mesh _mesh ) : void
_mesh Mesh
return void
Ejemplo n.º 1
0
    // ------------------------------------------------------------------
    // 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);
            }
        }
    }