public override void OnInspectorGUI()
    {
        GroundSurfaceMaster   surfaceMaster = FindObjectOfType <GroundSurfaceMaster>();
        GroundSurfaceInstance targetScript  = (GroundSurfaceInstance)target;

        GroundSurfaceInstance[] allTargets = new GroundSurfaceInstance[targets.Length];

        for (int i = 0; i < targets.Length; i++)
        {
            Undo.RecordObject(targets[i], "Ground Surface Change");
            allTargets[i] = targets[i] as GroundSurfaceInstance;
        }

        string[] surfaceNames = new string[surfaceMaster.surfaceTypes.Length];

        for (int i = 0; i < surfaceNames.Length; i++)
        {
            surfaceNames[i] = surfaceMaster.surfaceTypes[i].name;
        }

        foreach (GroundSurfaceInstance curTarget in allTargets)
        {
            curTarget.surfaceType = EditorGUILayout.Popup("Surface Type", curTarget.surfaceType, surfaceNames);
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(targetScript);
        }
    }
    public override void OnInspectorGUI()
    {
        GroundSurfaceMaster surfaceMaster = FindObjectOfType <GroundSurfaceMaster>();

        targetScript = (TerrainSurface)target;
        Undo.RecordObject(targetScript, "Terrain Surface Change");

        if (targetScript.GetComponent <Terrain>().terrainData)
        {
            terDat = targetScript.GetComponent <Terrain>().terrainData;
        }

        EditorGUILayout.LabelField("Textures and Surface Types:", EditorStyles.boldLabel);

        surfaceNames = new string[surfaceMaster.surfaceTypes.Length];

        for (int i = 0; i < surfaceNames.Length; i++)
        {
            surfaceNames[i] = surfaceMaster.surfaceTypes[i].name;
        }

        if (targetScript.surfaceTypes.Length > 0)
        {
            for (int j = 0; j < targetScript.surfaceTypes.Length; j++)
            {
                DrawTerrainInfo(terDat, j);
            }
        }
        else
        {
            EditorGUI.indentLevel++;
            EditorGUILayout.LabelField("<No terrain textures found>");
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(targetScript);
        }
    }