Beispiel #1
0
        public override void OnInspectorGUI()
        {
            var source  = (TerrainCombinerSource)target;
            var terrain = source.GetComponent <Terrain>();

            source.GroundLevelFraction = EditorGUILayout.FloatField("HeightDataGround", source.GroundLevelFraction);

            if (GUILayout.Button("Calculate ground level"))
            {
                source.GroundLevelFraction = FindGroundLevel(terrain.terrainData);
                EditorUtility.SetDirty(source);
                EditorUtility.SetDirty(source.gameObject);
            }

            source.alphaMaterial = (TerrainLayer)EditorGUILayout.ObjectField("AlphaMaterial", source.alphaMaterial, typeof(TerrainLayer), false);

            if (GUILayout.Button("Add alpha to terrain"))
            {
                TCMaterialHelper.AddTerrainLayer(terrain.terrainData, source.alphaMaterial);
                EditorUtility.SetDirty(terrain.terrainData);
                EditorUtility.SetDirty(source);
                EditorUtility.SetDirty(source.gameObject);
            }

            source.CacheDirty = true;
        }