Пример #1
0
    /**********************
    **  FOLD OUTS (END)  **
    **********************/

    private void OnEnable()
    {
        // Get the properties from the linked script.
        randomHeightRange = serializedObject.FindProperty("randomHeightRange");
        heightMapScale    = serializedObject.FindProperty("heightMapScale");
        heightMapImage    = serializedObject.FindProperty("heightMapImage");

        perlinXScale      = serializedObject.FindProperty("perlinXScale");
        perlinYScale      = serializedObject.FindProperty("perlinYScale");
        perlinOffsetX     = serializedObject.FindProperty("perlinOffsetX");
        perlinOffsetY     = serializedObject.FindProperty("perlinOffsetY");
        perlinOctaves     = serializedObject.FindProperty("perlinOctaves");
        perlinPersistance = serializedObject.FindProperty("perlinPersistance");
        perlinHeightScale = serializedObject.FindProperty("perlinHeightScale");

        perlinParameterTable = new GUITableState("perlinParameterTable");
        perlinParameters     = serializedObject.FindProperty("perlinParameters");

        resetTerrain = serializedObject.FindProperty("resetTerrain");

        voronoiFallOff       = serializedObject.FindProperty("voronoiFallOff");
        voronoiDropOff       = serializedObject.FindProperty("voronoiDropOff");
        voronoiMinimumHeight = serializedObject.FindProperty("voronoiMinimumHeight");
        voronoiMaximumHeight = serializedObject.FindProperty("voronoiMaximumHeight");
        voronoiPeaks         = serializedObject.FindProperty("voronoiPeaks");
        voronoiType          = serializedObject.FindProperty("voronoiType");

        midpointHeightMinimum       = serializedObject.FindProperty("midpointHeightMinimum");
        midpointHeightMaximum       = serializedObject.FindProperty("midpointHeightMaximum");
        midpointHeightDampenerPower = serializedObject.FindProperty("midpointHeightDampenerPower");
        midpointRoughness           = serializedObject.FindProperty("midpointRoughness");

        return;
    }
Пример #2
0
    private void SplatMapsGUI(CustomTerrain terrain)
    {
        showSplatMaps = EditorGUILayout.Foldout(showSplatMaps, "Splat Maps");
        if (showSplatMaps)
        {
            EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
            GUILayout.Label("Splat Maps", EditorStyles.boldLabel);

            EditorGUILayout.Slider(blendingNoiseMultiplier, 0.1f, 1f, new GUIContent("Noise Multiplier"));
            EditorGUILayout.Slider(blendingNoiseParams, 0.001f, 0.1f, new GUIContent("Noise Parameters"));
            EditorGUILayout.Slider(blendingOffset, 0.001f, 0.1f, new GUIContent("Noise Offset"));

            splatMapTable = GUITableLayout.DrawTable(splatMapTable,
                                                     serializedObject.FindProperty(nameof(terrain.splatHeights)));
            GUILayout.Space(20);

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("+"))
            {
                terrain.AddNewSplatHeight();
            }
            if (GUILayout.Button("-"))
            {
                terrain.RemoveSplatHeight();
            }
            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("Apply"))
            {
                terrain.SplatMaps();
            }
        }
    }
Пример #3
0
    void DrawCustomEntries()
    {
        SerializedObject serializedObject = new SerializedObject(SimpleExample.Instance);

        List <TableColumn> columns = new List <TableColumn>()
        {
            new TableColumn("String", 60f),
            new TableColumn("Float", 50f),
            new TableColumn("Object", 110f),
            new TableColumn("", 100f)
            {
                enabledTitle = false
            },
        };

        List <List <TableEntry> > rows = new List <List <TableEntry> >();

        SimpleExample targetObject = (SimpleExample)serializedObject.targetObject;

        for (int i = 0; i < targetObject.simpleObjects.Count; i++)
        {
            SimpleExample.SimpleObject entry = targetObject.simpleObjects[i];
            rows.Add(new List <TableEntry>()
            {
                new LabelEntry(entry.stringProperty),
                new PropertyEntry(serializedObject, string.Format("simpleObjects.Array.data[{0}].floatProperty", i)),
                new PropertyEntry(serializedObject, string.Format("simpleObjects.Array.data[{0}].objectProperty", i)),
                new ActionEntry("Reset", () => entry.Reset()),
            });
        }

        tableState = GUITable.DrawTable(columns, rows, tableState);
    }
Пример #4
0
    private void MultiplePerlinGUI(CustomTerrain terrain)
    {
        showMultiplePerlin = EditorGUILayout.Foldout(showMultiplePerlin, "Multiple Perline Noises");
        if (showMultiplePerlin)
        {
            EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
            GUILayout.Label("Multiple Perline Noises", EditorStyles.boldLabel);
            perlinParametrsTable = GUITableLayout.DrawTable(perlinParametrsTable,
                                                            serializedObject.FindProperty(nameof(terrain.perlinParamentrs)));
            GUILayout.Space(20);

            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("+"))
            {
                terrain.AddNewPerlin();
            }
            if (GUILayout.Button("-"))
            {
                terrain.RemovePerlin();
            }
            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("Multiple Perlin Terrain"))
            {
                terrain.MultiplePerlinTerrain();
            }
            if (GUILayout.Button("Generate"))
            {
                terrain.MultiplePerlinTerrain();
            }
        }
    }
Пример #5
0
 void OnEnable()
 {
     sineWaves               = serializedObject.FindProperty("sineWaves");
     SineValue               = serializedObject.FindProperty("SineValue");
     QuantityRandom          = serializedObject.FindProperty("QuantityRandom");
     perlinXScale            = serializedObject.FindProperty("perlinXScale");
     perlinYScale            = serializedObject.FindProperty("perlinYScale");
     perlinOffsetX           = serializedObject.FindProperty("perlinOffsetX");
     perlinOffsetY           = serializedObject.FindProperty("perlinOffsetY");
     perlinOctaves           = serializedObject.FindProperty("perlinOctaves");
     perlinPersistance       = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale       = serializedObject.FindProperty("perlinHeightScale");
     perlinParameterTable    = new GUITableState("perlinParameterTable");
     perlinParameters        = serializedObject.FindProperty("perlinParameters");
     voronoiFallOff          = serializedObject.FindProperty("voronoiFallOff");
     voronoiDropOff          = serializedObject.FindProperty("voronoiDropOff");
     voronoiMinHeight        = serializedObject.FindProperty("voronoiMinHeight");
     voronoiMaxHeight        = serializedObject.FindProperty("voronoiMaxHeight");
     voronoiPeaks            = serializedObject.FindProperty("voronoiPeaks");
     voronoiType             = serializedObject.FindProperty("voronoiType");
     MdptheightMin           = serializedObject.FindProperty("MdptheightMin");
     MdptheightMax           = serializedObject.FindProperty("MdptheightMax");
     MdptheightDampenerPower = serializedObject.FindProperty("MdptheightDampenerPower");
     Mdptroughness           = serializedObject.FindProperty("Mdptroughness");
     smoothAmount            = serializedObject.FindProperty("smoothAmount");
     waveWidth               = serializedObject.FindProperty("waveWidth");
     waveHeight              = serializedObject.FindProperty("waveHeight");
 }
 private void OnEnable()
 {
     randomHeightRange      = serializedObject.FindProperty("randomHeightRange");
     heightMapScale         = serializedObject.FindProperty("heightMapScale");
     heightMapImage         = serializedObject.FindProperty("heightMapImage");
     perlinXScale           = serializedObject.FindProperty("perlinXScale");
     perlinYScale           = serializedObject.FindProperty("perlinYScale");
     perlinOffsetX          = serializedObject.FindProperty("perlinOffsetX");
     perlinOffsetY          = serializedObject.FindProperty("perlinOffsetY");
     perlinOctaves          = serializedObject.FindProperty("perlinOctaves");
     perlinPersistance      = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale      = serializedObject.FindProperty("perlinHeightScale");
     resetTerrain           = serializedObject.FindProperty("resetTerrain");
     perlinParameterTable   = new GUITableState("perlinParameterTable");
     perlinParameters       = serializedObject.FindProperty("perlinParameters");
     voronoiDropOff         = serializedObject.FindProperty("voronoiDropOff");
     voronoiFallOff         = serializedObject.FindProperty("voronoiFallOff");
     voronoiMinHeight       = serializedObject.FindProperty("voronoiMinHeight");
     voronoiMaxHeight       = serializedObject.FindProperty("voronoiMaxHeight");
     voronoiPeaks           = serializedObject.FindProperty("voronoiPeaks");
     voronoiType            = serializedObject.FindProperty("voronoiType");
     MPDheightMin           = serializedObject.FindProperty("MPDheightMin");
     MPDheightMax           = serializedObject.FindProperty("MPDheightMax");
     MPDheightDampenerPower = serializedObject.FindProperty("MPDheightDampenerPower");
     MPDroughness           = serializedObject.FindProperty("MPDroughness");
     smoothAmount           = serializedObject.FindProperty("smoothAmount");
     splatMapTable          = new GUITableState("splatMapTable");
     splatHeights           = serializedObject.FindProperty("splatHeights");
     vegMapTable            = new GUITableState("vegMapTable");
     vegetation             = serializedObject.FindProperty("vegetation");
     maxTrees            = serializedObject.FindProperty("maxTrees");
     treeSpacing         = serializedObject.FindProperty("treeSpacing");
     detailMapTable      = new GUITableState("detailMapTable");
     details             = serializedObject.FindProperty("details");
     maxDetails          = serializedObject.FindProperty("maxDetails");
     detailSpacing       = serializedObject.FindProperty("detailSpacing");
     waterHeight         = serializedObject.FindProperty("waterHeight");
     waterGameObject     = serializedObject.FindProperty("waterGameObject");
     shoreLineMaterial   = serializedObject.FindProperty("shoreLineMaterial");
     erosionType         = serializedObject.FindProperty("erosionType");
     erosionStrength     = serializedObject.FindProperty("erosionStrength");
     springsPerRiver     = serializedObject.FindProperty("springsPerRiver");
     solubility          = serializedObject.FindProperty("solubility");
     droplets            = serializedObject.FindProperty("droplets");
     erosionSmoothAmount = serializedObject.FindProperty("erosionSmoothAmount");
     erosionAmount       = serializedObject.FindProperty("erosionAmount");
     numClouds           = serializedObject.FindProperty("numClouds");
     particlesPerCloud   = serializedObject.FindProperty("particlesPerCloud");
     cloudStartSize      = serializedObject.FindProperty("cloudStartSize");
     cloudMinScale       = serializedObject.FindProperty("cloudMinScale");
     cloudMaxScale       = serializedObject.FindProperty("cloudMaxScale");
     cloudMaterial       = serializedObject.FindProperty("cloudMaterial");
     cloudShadowMaterial = serializedObject.FindProperty("cloudShadowMaterial");
     cloudColor          = serializedObject.FindProperty("cloudColor");
     cloudLining         = serializedObject.FindProperty("cloudLining");
     cloudMinSpeed       = serializedObject.FindProperty("cloudMinSpeed");
     cloudMaxSpeed       = serializedObject.FindProperty("cloudMaxSpeed");
     cloudRange          = serializedObject.FindProperty("cloudRange");
     hmTexture           = new Texture2D(513, 513, TextureFormat.ARGB32, false);
 }
Пример #7
0
	public override void OnInspectorGUI ()
	{
		base.OnInspectorGUI();
		SerializedObject serializedObject = new SerializedObject(LogoTable.Instance);

		List<TableColumn> columns = new List<TableColumn>()
		{
			new TableColumn("G", 28f),
			new TableColumn("U", 22f),
			new TableColumn("I     ", 35f),
		};

		List<List<TableCell>> rows = new List<List<TableCell>>();

		LogoTable targetObject = LogoTable.Instance;

		for (int i = 0 ; i < targetObject.logoLines.Count ; i++)
		{
			rows.Add (new List<TableCell>()
			{
				new PropertyCell (serializedObject, string.Format("logoLines.Array.data[{0}].letter1", i)),
				new PropertyCell (serializedObject, string.Format("logoLines.Array.data[{0}].letter2", i)),
				new PropertyCell (serializedObject, string.Format("logoLines.Array.data[{0}].color", i)),
			});
		}

		tableState = GUITableLayout.DrawTable (tableState, columns, rows);
	}
Пример #8
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        //Check that it is a collection
        Match match = Regex.Match(property.propertyPath, "^([a-zA-Z0-9_]*).Array.data\\[([0-9]*)\\]$");

        if (!match.Success)
        {
            EditorGUI.LabelField(position, label.text, "Use the Table attribute with a collection.");
            return;
        }

        string collectionPath = match.Groups[1].Value;

        // Check that it's the first element
        string index = match.Groups[2].Value;

        if (index != "0")
        {
            return;
        }

        if (GUILayoutUtility.GetLastRect().width > 1f)
        {
            lastRect = GUILayoutUtility.GetLastRect();
        }
        Rect r = new Rect(lastRect.x + 15f, lastRect.y + 35f, lastRect.width, lastRect.height);

        GUILayout.BeginArea(r);
        EditorGUI.indentLevel = 0;
        tableState            = GUITable.DrawTable(property.serializedObject.FindProperty(collectionPath), tableState);
        GUILayout.EndArea();
        GUILayout.Space(30f);
    }
Пример #9
0
    private void DrawCustomCells()
    {
        var serializedObject = new SerializedObject(SimpleExample.Instance);

        var columns = new List <TableColumn>
        {
            new TableColumn("String", 60f),
            new TableColumn("Float", 50f),
            new TableColumn("Object", 110f),
            new TableColumn("", TableColumn.Width(100f), TableColumn.EnabledTitle(false))
        };

        var rows = new List <List <TableCell> >();

        var targetObject = (SimpleExample)serializedObject.targetObject;

        for (var i = 0; i < targetObject.simpleObjects.Count; i++)
        {
            var entry = targetObject.simpleObjects[i];
            rows.Add(new List <TableCell>
            {
                new LabelCell(entry.stringProperty),
                new PropertyCell(serializedObject, string.Format("simpleObjects.Array.data[{0}].floatProperty", i)),
                new PropertyCell(serializedObject, string.Format("simpleObjects.Array.data[{0}].objectProperty", i)),
                new ActionCell("Reset", () => entry.Reset())
            });
        }

        tableState = GUITableLayout.DrawTable(tableState, columns, rows);
    }
Пример #10
0
    void DrawObjectsTable()
    {
        List <TableColumn> columns = new List <TableColumn>()
        {
            new TableColumn("String", TableColumn.Width(60f)),
            new TableColumn("Float", TableColumn.Width(50f)),
            new TableColumn("Object", TableColumn.Width(110f)),
            new TableColumn("", TableColumn.Width(50f), TableColumn.EnabledTitle(false))
        };

        List <List <TableCell> > rows = new List <List <TableCell> >();

        ActionExample targetObject = (ActionExample)target;

        for (int i = 0; i < targetObject.simpleObjects.Count; i++)
        {
            ActionExample.SimpleObject entry = targetObject.simpleObjects[i];
            rows.Add(new List <TableCell>()
            {
                new LabelCell(entry.stringProperty),
                new PropertyCell(serializedObject, string.Format("simpleObjects.Array.data[{0}].floatProperty", i)),
                new PropertyCell(serializedObject, string.Format("simpleObjects.Array.data[{0}].objectProperty", i)),
                new ActionCell("Reset", () => entry.Reset()),
            });
        }

        tableState = GUITableLayout.DrawTable(tableState, columns, rows);
    }
 void DrawSimple()
 {
     reorderable = EditorGUILayout.Toggle("Reorderable", reorderable);
     tableState  = GUITableLayout.DrawTable(
         tableState,
         serializedObject.FindProperty("simpleObjects"),
         GUITableOption.Reorderable(reorderable));
 }
Пример #12
0
 private void SplatMapProperties()
 {
     splatMapTable           = new GUITableState("perlinParametrsTable");
     splatHeights            = serializedObject.FindProperty("perlinParamentrs");
     blendingOffset          = serializedObject.FindProperty("blendingOffset");
     blendingNoiseParams     = serializedObject.FindProperty("blendingNoiseParams");
     blendingNoiseMultiplier = serializedObject.FindProperty("blendingNoiseMultiplier");
 }
Пример #13
0
 //Link Our Variables
 private void OnEnable()
 {
     randomHeightRange     = serializedObject.FindProperty("randomHeightRange");
     heightMapScale        = serializedObject.FindProperty("heightMapScale");
     heightMapImage        = serializedObject.FindProperty("heightMapImage");
     perlinXScale          = serializedObject.FindProperty("perlinXScale");
     perlinYScale          = serializedObject.FindProperty("perlinYScale");
     perlinOffsetX         = serializedObject.FindProperty("perlinOffsetX");
     perlinOffsetY         = serializedObject.FindProperty("perlinOffsetY");
     perlinOctaves         = serializedObject.FindProperty("perlinOctaves");
     perlinPersistence     = serializedObject.FindProperty("perlinPersistence");
     perlinHeightScale     = serializedObject.FindProperty("perlinHeightScale");
     resetTerrainCheckBox  = serializedObject.FindProperty("resetTerrainCheckBox");
     perlinParametersTable = new GUITableState("perlinParameterTable");
     perlinParameters      = serializedObject.FindProperty("perlinParameters");
     //SplatMaps----------/
     splatMapTable = new GUITableState("splatMapTable");
     splatHeights  = serializedObject.FindProperty("splatHeights");
     //Voronoi-----------/
     VoronoiPeakCount = serializedObject.FindProperty("peakCount");
     VoronoiFallOff   = serializedObject.FindProperty("fallOff");
     VoronoiDropOff   = serializedObject.FindProperty("dropOff");
     VoronoiminHeight = serializedObject.FindProperty("minHeight");
     VoronoiMaxHeight = serializedObject.FindProperty("maxHeight");
     VoronoiType      = serializedObject.FindProperty("voronoiType");
     //MPD-------------/
     MPDminHeight      = serializedObject.FindProperty("MPDminHeight");
     MPDmaxHeight      = serializedObject.FindProperty("MPDmaxHeight");
     MPDRoughness      = serializedObject.FindProperty("MPDRoughness");
     MPDHeightDampener = serializedObject.FindProperty("MPDHeightDampener");
     //SMooth---------/
     smoothAmount = serializedObject.FindProperty("smoothAmount");
     //HeightMap------/
     hmTexture = new Texture2D(513, 513, TextureFormat.ARGB32, false);
     //Vegetation
     maximumTrees = serializedObject.FindProperty("maximumTrees");
     treeSpacing  = serializedObject.FindProperty("treeSpacing");
     vegetations  = new GUITableState("vegetations");
     Vegetation   = serializedObject.FindProperty("Vegetation");
     //Details
     detailMapTable = new GUITableState("detailMapTable");
     detail         = serializedObject.FindProperty("details");
     maxDetails     = serializedObject.FindProperty("maxDetails");
     detailSpacing  = serializedObject.FindProperty("detailSpacing");
     //Water
     waterHeight       = serializedObject.FindProperty("waterHeight");
     waterGO           = serializedObject.FindProperty("waterGO");
     shoreLineMaterial = serializedObject.FindProperty("shoreLineMaterial");
     //Erosion
     erosionType         = serializedObject.FindProperty("erosionType");
     erosionStrength     = serializedObject.FindProperty("erosionStrength");
     springsPerRiver     = serializedObject.FindProperty("springsPerRiver");
     solubility          = serializedObject.FindProperty("solubility");
     droplets            = serializedObject.FindProperty("droplets");
     erosionSmoothAmount = serializedObject.FindProperty("erosionSmoothAmount");
     erosionAmount       = serializedObject.FindProperty("erosionAmount");
 }
Пример #14
0
    void DrawCustomProperties()
    {
        SerializedObject serializedObject = new SerializedObject(SimpleExample.Instance);

        tableState = GUITableLayout.DrawTable(tableState, serializedObject.FindProperty("simpleObjects"), new List <string>()
        {
            "floatProperty", "objectProperty"
        });
    }
    void DrawCustomColumns()
    {
        SerializedObject      serializedObject = new SerializedObject(SimpleExample.Instance);
        List <SelectorColumn> propertyColumns  = new List <SelectorColumn>()
        {
            new SelectFromPropertyNameColumn("stringProperty", TableColumn.Title("String"), TableColumn.Width(60f)),
            new SelectFromPropertyNameColumn("floatProperty", TableColumn.Title("Float"), TableColumn.Width(50f), TableColumn.Optional(true)),
            new SelectFromPropertyNameColumn("objectProperty", TableColumn.Title("Object"), TableColumn.Width(50f), TableColumn.EnabledTitle(false), TableColumn.Optional(true)),
        };

        tableState = GUITableLayout.DrawTable(tableState, serializedObject.FindProperty("simpleObjects"), propertyColumns);
    }
Пример #16
0
    void DrawCustomColumnsWithSelector()
    {
        SerializedObject serializedObject = new SerializedObject(SimpleExample.Instance);

        List <SelectorColumn> selectorColumns = new List <SelectorColumn>()
        {
            new SelectFromFunctionColumn(prop => new LabelCell(prop.FindPropertyRelative("stringProperty").stringValue), "String", TableColumn.Width(60f)),
            new SelectFromFunctionColumn(prop => new LabelCell(prop.FindPropertyRelative("floatProperty").floatValue.ToString()), "Float", TableColumn.Width(50f), TableColumn.Optional(true)),
            new SelectFromFunctionColumn(prop => new LabelCell(prop.FindPropertyRelative("objectProperty").objectReferenceValue.name), "Object", TableColumn.Width(110f), TableColumn.EnabledTitle(false), TableColumn.Optional(true)),
        };

        tableState = GUITableLayout.DrawTable(tableState, serializedObject.FindProperty("simpleObjects"), selectorColumns);
    }
Пример #17
0
 private void PerlinProperties()
 {
     perlinXScale         = serializedObject.FindProperty("perlinXScale");
     perlinYScale         = serializedObject.FindProperty("perlinYScale");
     perlinXOffset        = serializedObject.FindProperty("perlinXOffset");
     perlinYOffset        = serializedObject.FindProperty("perlinYOffset");
     pelinOctaves         = serializedObject.FindProperty("pelinOctaves");
     perlinPersistance    = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale    = serializedObject.FindProperty("perlinHeightScale");
     resetTerrain         = serializedObject.FindProperty("resetTerrain");
     perlinParametrsTable = new GUITableState("perlinParametrsTable");
     perlinParametrs      = serializedObject.FindProperty("perlinParamentrs");
 }
 //to enable all changes as they are done
 private void OnEnable()
 {
     randomHeightRange     = serializedObject.FindProperty("randomHeightRange");
     resetTerrain          = serializedObject.FindProperty("resetTerrain");
     perlinX               = serializedObject.FindProperty("perlinX");
     perlinY               = serializedObject.FindProperty("perlinY");
     perlinXoffset         = serializedObject.FindProperty("perlinXoffset");
     perlinYoffset         = serializedObject.FindProperty("perlinYoffset");
     perlinOctaves         = serializedObject.FindProperty("perlinOctaves");
     perlinPersistance     = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale     = serializedObject.FindProperty("perlinHeightScale");
     perlinParametersTable = new GUITableState("perlinParametersTable");
     perlinParameters      = serializedObject.FindProperty("perlinParameters");
 }
Пример #19
0
    public override void OnInspectorGUI()
    {
        GUILayout.Label("Default display", EditorStyles.boldLabel);

        base.OnInspectorGUI();

        GUILayout.Space(20f);

        GUILayout.Label("Table display", EditorStyles.boldLabel);

        tableState = GUITableLayout.DrawTable(tableState, serializedObject.FindProperty("simpleObjects"));

        GUILayout.Space(20f);
    }
Пример #20
0
 //allows update in editor (equivalent to awake for editor)
 private void OnEnable()
 {
     //links to other script to synchronize values
     randomHeightRange = serializedObject.FindProperty("randomHeightRange");
     heightMapScale    = serializedObject.FindProperty("heightMapScale");
     heightMapImage    = serializedObject.FindProperty("heightMapImage");
     //gets perlin
     perlinXScale         = serializedObject.FindProperty("perlinXScale");
     perlinYScale         = serializedObject.FindProperty("perlinYScale");
     perlinXOffset        = serializedObject.FindProperty("perlinXOffset");
     perlinYOffset        = serializedObject.FindProperty("perlinYOffset");
     perlinOctaves        = serializedObject.FindProperty("perlinOctaves");
     perlinPersistance    = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale    = serializedObject.FindProperty("perlinHeightScale");
     freqMultiplier       = serializedObject.FindProperty("freqMultiplier");
     resetTerrain         = serializedObject.FindProperty("resetTerrain");
     perlinParameterTable = new GUITableState("perlinParameterTable");
     perlinParameters     = serializedObject.FindProperty("perlinParameters");
     //gets voronoi
     voronoiDropOff   = serializedObject.FindProperty("voronoiDropOff");
     voronoiFallOff   = serializedObject.FindProperty("voronoiFallOff");
     voronoiMaxHeight = serializedObject.FindProperty("voronoiMaxHeight");
     voronoiMinHeight = serializedObject.FindProperty("voronoiMinHeight");
     voronoiPeaks     = serializedObject.FindProperty("voronoiPeaks");
     voronoiType      = serializedObject.FindProperty("voronoiType");
     //gets smooth amount
     smoothAmount = serializedObject.FindProperty("smoothAmount");
     //splat maps
     splatMapTable = new GUITableState("splatMapTable");
     splatHeights  = serializedObject.FindProperty("splatHeights");
     //trees
     vegetation  = new GUITableState("vegetation");
     maxTrees    = serializedObject.FindProperty("maxTrees");
     treeSpacing = serializedObject.FindProperty("treeSpacing");
     //details
     detailMapTable = new GUITableState("detailMapTable");
     detail         = serializedObject.FindProperty("details");
     maxDetails     = serializedObject.FindProperty("maxDetails");
     detailSpacing  = serializedObject.FindProperty("detailSpacing");
     //erosion
     erosionSmoothAmount = serializedObject.FindProperty("erosionSmoothAmount");
     erosionStrength     = serializedObject.FindProperty("erosionStrength");
     springsPerDroplet   = serializedObject.FindProperty("springsPerDroplet");
     solubility          = serializedObject.FindProperty("solubility");
     droplets            = serializedObject.FindProperty("droplets");
     erosionType         = serializedObject.FindProperty("erosionType");
     thermalStrength     = serializedObject.FindProperty("thermalStrength");
 }
Пример #21
0
    void OnEnable()
    {
        resetTerrain = serializedObject.FindProperty("resetTerrain");

        randomHeightRange = serializedObject.FindProperty("randomHeightRange");
        heightMapScale    = serializedObject.FindProperty("heightMapScale");
        heightMapImage    = serializedObject.FindProperty("heightMapImage");
        perlinXScale      = serializedObject.FindProperty("perlinXScale");
        perlinYScale      = serializedObject.FindProperty("perlinYScale");
        perlinXOffset     = serializedObject.FindProperty("perlinXOffset");
        perlinYOffset     = serializedObject.FindProperty("perlinYOffset");
        perlinOctaves     = serializedObject.FindProperty("perlinOctaves");
        perlinPersistance = serializedObject.FindProperty("perlinPersistance");
        perlinHeightScale = serializedObject.FindProperty("perlinHeightScale");

        perlinParameterTable = new GUITableState("perlinParametersTable");
        perlinParameters     = serializedObject.FindProperty("perlinParameters");

        voronoiPeaks     = serializedObject.FindProperty("voronoiPeaks");
        voronoiMinHeight = serializedObject.FindProperty("voronoiMinHeight");
        voronoiMaxHeight = serializedObject.FindProperty("voronoiMaxHeight");
        voronoiFallOff   = serializedObject.FindProperty("voronoiFallOff");
        voronoiDropOff   = serializedObject.FindProperty("voronoiDropOff");
        voronoiType      = serializedObject.FindProperty("voronoiType");

        mpdMinHeight     = serializedObject.FindProperty("mpdMinHeight");
        mpdMaxHeight     = serializedObject.FindProperty("mpdMaxHeight");
        mpdDampenerPower = serializedObject.FindProperty("mpdDampenerPower");
        mpdRoughness     = serializedObject.FindProperty("mpdRoughness");

        smoothAmount = serializedObject.FindProperty("smoothAmount");

        splatMapTable = new GUITableState("splatMapTable");
        splatHeights  = serializedObject.FindProperty("splatHeights");

        /*
         * splatScaleX = serializedObject.FindProperty("splatScaleX");
         * splatScaleY = serializedObject.FindProperty("splatScaleY");
         * splatScale = serializedObject.FindProperty("splatScale");
         * splatOffset = serializedObject.FindProperty("splatOffset");
         */
        vegetationTable = new GUITableState("vegetationTable");
        vegTreesSpacing = serializedObject.FindProperty("vegTreesSpacing");
        vegTreesMax     = serializedObject.FindProperty("vegTreesMax");

        vegetation = serializedObject.FindProperty("vegetation");
    }
    //fould outs -------
    void OnEnable()
    {
        randomHeightRange     = serializedObject.FindProperty("randomHeightRange");
        heightMapScale        = serializedObject.FindProperty("heightMapScale");
        heightMapImage        = serializedObject.FindProperty("heightMapImage");
        perlinXScale          = serializedObject.FindProperty("perlinXScale");
        perlinYScale          = serializedObject.FindProperty("perlinYScale");
        perlinOffsetY         = serializedObject.FindProperty("perlinOffsetY");
        perlinOffsetX         = serializedObject.FindProperty("perlinOffsetX");
        perlinOctaves         = serializedObject.FindProperty("perlinOctaves");
        perlinPersistance     = serializedObject.FindProperty("perlinPersistance");
        perlinHeightScale     = serializedObject.FindProperty("perlinHeightScale");
        resetTerrain          = serializedObject.FindProperty("resetTerrain");
        voronoifallOff        = serializedObject.FindProperty("voronoifallOff");
        voronoidropOff        = serializedObject.FindProperty("voronoidropOff");
        voronoimaxHeight      = serializedObject.FindProperty("voronoimaxHeight");
        voronoimaxWidth       = serializedObject.FindProperty("voronoimaxWidth");
        voronoipeakCount      = serializedObject.FindProperty("voronoipeakCount");
        voronoiType           = serializedObject.FindProperty("voronoiType");
        perlinParametersTable = new GUITableState("perlinParametersTable");
        perlinParameters      = serializedObject.FindProperty("perlinParameters");
        midPointHeightMax     = serializedObject.FindProperty("midPointHeightMax");
        midPointHeightMin     = serializedObject.FindProperty("midPointHeightMin");
        midPointRoughness     = serializedObject.FindProperty("midPointRoughness");
        midPointDampener      = serializedObject.FindProperty("midPointDampener");
        smoothCount           = serializedObject.FindProperty("smoothCount");
        splatMapTable         = new GUITableState("splatMapTable");
        splatHeights          = serializedObject.FindProperty("splatHeights");
        splatOffset           = serializedObject.FindProperty("splatOffset");
        splatNoiseXscale      = serializedObject.FindProperty("splatNoiseXscale");
        splatNoiseYscale      = serializedObject.FindProperty("splatNoiseYscale");
        splatNoisescaler      = serializedObject.FindProperty("splatNoisescaler");
        vegetationTable       = new GUITableState("vegetationTable");
        vegetation            = serializedObject.FindProperty("vegetation");
        maxTrees    = serializedObject.FindProperty("maxTrees");
        treeSpacing = serializedObject.FindProperty("treeSpacing");

        detailMapTable = new GUITableState("detailMapTable");
        details        = serializedObject.FindProperty("details");
        maxDetails     = serializedObject.FindProperty("maxDetails");
        detailsSpacing = serializedObject.FindProperty("detailsSpacing");
        WaterHeight    = serializedObject.FindProperty("WaterHeight");
        waterGo        = serializedObject.FindProperty("waterGo");
        ShoreFoam      = serializedObject.FindProperty("ShoreFoam");

        hmTexture = new Texture2D(513, 513, TextureFormat.ARGB32, false);
    }
Пример #23
0
    private void DrawObjectsTable()
    {
        var serializedObject = new SerializedObject(AdvancedExample.Instance);

        var columns = new List <TableColumn>
        {
            new TableColumn("Name", TableColumn.Width(60f)),
            new TableColumn("Prefab", TableColumn.Width(50f), TableColumn.EnabledCells(false),
                            TableColumn.Optional(true)),
            new TableColumn("Type", TableColumn.Width(50f), TableColumn.Optional(true)),
            new TableColumn("Health", TableColumn.Width(50f)),
            new TableColumn("Speed", TableColumn.Width(50f)),
            new TableColumn("Color", TableColumn.Width(50f), TableColumn.Optional(true)),
            new TableColumn("Can Swim", TableColumn.Width(30f), TableColumn.Optional(true)),
            new TableColumn("Spawners", TableColumn.Width(450f), TableColumn.Optional(true)),
            new TableColumn("Intro (shared by type)", TableColumn.Width(110f), TableColumn.Optional(true)),
            new TableColumn("Instantiation", TableColumn.Width(110f), TableColumn.Optional(true))
        };

        var rows = new List <List <TableCell> >();

        var targetObject = (AdvancedExample)serializedObject.targetObject;

        for (var i = 0; i < targetObject.enemies.Count; i++)
        {
            var enemy         = targetObject.enemies[i];
            var sentenceIndex = targetObject.introSentences.FindIndex(s => s.enemyType == enemy.type);
            rows.Add(new List <TableCell>
            {
                new LabelCell(enemy.name),
                new PropertyCell(serializedObject, string.Format("enemies.Array.data[{0}]", i)),
                new PropertyCell(new SerializedObject(enemy), "type"),
                new PropertyCell(new SerializedObject(enemy), "health"),
                new PropertyCell(new SerializedObject(enemy), "speed"),
                new PropertyCell(new SerializedObject(enemy), "color"),
                new PropertyCell(new SerializedObject(enemy), "canSwim"),
                new SpawnersCell(new SerializedObject(enemy), "spawnersMask"),
                new PropertyCell(serializedObject,
                                 string.Format("introSentences.Array.data[{0}].sentence", sentenceIndex)),
                new ActionCell("Instantiate", () => enemy.Instantiate())
            });
        }

        tableState = GUITableLayout.DrawTable(tableState, columns, rows);
    }
Пример #24
0
    void DrawCustomColumns()
    {
        SerializedObject      serializedObject = new SerializedObject(SimpleExample.Instance);
        List <PropertyColumn> propertyColumns  = new List <PropertyColumn>()
        {
            new PropertyColumn("stringProperty", "String", 60f),
            new PropertyColumn("floatProperty", "Float", 50f)
            {
                optional = true
            },
            new PropertyColumn("objectProperty", "Object", 110f)
            {
                enabledTitle = false, optional = true
            },
        };

        tableState = GUITable.DrawTable(serializedObject.FindProperty("simpleObjects"), propertyColumns, tableState);
    }
    void DrawCustomColumnsWithSelector()
    {
        SerializedObject serializedObject = new SerializedObject(SimpleExample.Instance);

        List <SelectorColumn> selectorColumns = new List <SelectorColumn>()
        {
            new SelectorColumn(prop => new LabelEntry(prop.stringValue), "stringProperty", "String", 60f),
            new SelectorColumn(prop => new LabelEntry(prop.floatValue.ToString()), "floatProperty", "Float", 50f)
            {
                optional = true
            },
            new SelectorColumn(prop => new LabelEntry(prop.objectReferenceValue.name), "objectProperty", "Object", 110f)
            {
                enabledTitle = false, optional = true
            },
        };

        tableState = GUITable.DrawTable(serializedObject.FindProperty("simpleObjects"), selectorColumns, tableState);
    }
Пример #26
0
 void OnEnable()
 {
     randomHeightRange        = serializedObject.FindProperty("randomHeightRange");
     heightMapScale           = serializedObject.FindProperty("heightMapScale");
     heightMapImage           = serializedObject.FindProperty("heightMapImage");
     perlinScaleX             = serializedObject.FindProperty("perlinScaleX");
     perlinScaleY             = serializedObject.FindProperty("perlinScaleY");
     perlinOffsetX            = serializedObject.FindProperty("perlinOffsetX");
     perlinOffsetY            = serializedObject.FindProperty("perlinOffsetY");
     perlinOctaves            = serializedObject.FindProperty("perlinOctaves");
     perlinPersistance        = serializedObject.FindProperty("perlinPersistance");
     perlinHeightScale        = serializedObject.FindProperty("perlinHeightScale");
     perlinFrequency          = serializedObject.FindProperty("perlinFrequency");
     resetTerrain             = serializedObject.FindProperty("resetTerrain");
     perlinParameterTable     = new GUITableState("perlinParameterTable");
     perlinParameters         = serializedObject.FindProperty("perlinParameters");
     voronoiFallOff           = serializedObject.FindProperty("voronoiFallOff");
     voronoiDropOff           = serializedObject.FindProperty("voronoiDropOff");
     voronoiPeakCount         = serializedObject.FindProperty("voronoiPeakCount");
     voronoiMinHeight         = serializedObject.FindProperty("voronoiMinHeight");
     voronoiMaxHeight         = serializedObject.FindProperty("voronoiMaxHeight");
     voronoiType              = serializedObject.FindProperty("voronoiType");
     mpdRoughness             = serializedObject.FindProperty("mpdRoughness");
     mpdHeightMin             = serializedObject.FindProperty("mpdHeightMin");
     mpdHeightMax             = serializedObject.FindProperty("mpdHeightMax");
     mpdHeightDampener        = serializedObject.FindProperty("mpdHeightDampener");
     smoothIterations         = serializedObject.FindProperty("smoothIterations");
     splatHeights             = serializedObject.FindProperty("splatHeights");
     splatOffset              = serializedObject.FindProperty("splatOffset");
     splatNoiseScale          = serializedObject.FindProperty("splatNoiseScale");
     splatNoiseX              = serializedObject.FindProperty("splatNoiseX");
     splatNoiseY              = serializedObject.FindProperty("splatNoiseY");
     waterHeight              = serializedObject.FindProperty("waterHeight");
     waterObject              = serializedObject.FindProperty("waterObject");
     shoreLineMaterial        = serializedObject.FindProperty("shoreLineMaterial");
     erosionSolubility        = serializedObject.FindProperty("erosionSolubility");
     erosionStrength          = serializedObject.FindProperty("erosionStrength");
     erosionDroplets          = serializedObject.FindProperty("erosionDroplets");
     erosionSpringsPerDroplet = serializedObject.FindProperty("erosionSpringsPerDroplet");
     erosionType              = serializedObject.FindProperty("erosionType");
     vegetationMaxTrees       = serializedObject.FindProperty("vegetationMaxTrees");
     vegetationTreeSpacing    = serializedObject.FindProperty("vegetationTreeSpacing");
 }
    void DrawObjectsTable()
    {
        SerializedObject serializedObject = new SerializedObject(AdvancedExample.Instance);
        AdvancedExample  targetObject     = (AdvancedExample)serializedObject.targetObject;

        List <SelectorColumn> columns = new List <SelectorColumn> ();

        columns.Add(new SelectObjectReferenceColumn(TableColumn.Title("Enemy Prefab"), TableColumn.Width(75f), TableColumn.EnabledCells(false), TableColumn.Optional(true)));
        columns.Add(new SelectFromPropertyNameColumn("type", TableColumn.Width(50f), TableColumn.Optional(true)));
        columns.Add(new SelectFromPropertyNameColumn("health", TableColumn.Width(50f)));
        columns.Add(new SelectFromPropertyNameColumn("speed", TableColumn.Width(50f)));
        columns.Add(new SelectFromPropertyNameColumn("color", TableColumn.Width(50f), TableColumn.Optional(true)));
        columns.Add(new SelectFromPropertyNameColumn("canSwim", TableColumn.Title("Swim"), TableColumn.Width(35f), TableColumn.Optional(true)));
        columns.Add(new SelectFromFunctionColumn(
                        sp => new SpawnersCell(new SerializedObject(sp.objectReferenceValue), "spawnersMask"),
                        TableColumn.Title("Spawners"),
                        TableColumn.Width(80f),
                        TableColumn.Optional(true)));
        columns.Add(new SelectFromFunctionColumn(
                        sp =>
        {
            Enemy enemy       = (Enemy)sp.objectReferenceValue;
            int sentenceIndex = targetObject.introSentences.FindIndex(s => s.enemyType == enemy.type);
            return(new PropertyCell(serializedObject, string.Format("introSentences.Array.data[{0}].sentence", sentenceIndex)));
        },
                        TableColumn.Title("Intro (shared by type)"),
                        TableColumn.Width(150f),
                        TableColumn.Optional(true)));
        columns.Add(new SelectFromFunctionColumn(
                        sp =>
        {
            Enemy enemy = (Enemy)sp.objectReferenceValue;
            return(new ActionCell("Instantiate", () => enemy.Instantiate()));
        },
                        TableColumn.Title("Instantiation"),
                        TableColumn.Width(110f),
                        TableColumn.Optional(true)));

        tableState = GUITableLayout.DrawTable(tableState, serializedObject.FindProperty("enemies"), columns);
    }
Пример #28
0
    void OnEnable() //
    {
        randomHeightRange      = serializedObject.FindProperty("randomHeightRange");
        heightMapScale         = serializedObject.FindProperty("heightMapScale");
        heightMapImage         = serializedObject.FindProperty("heightMapImage");
        perlinXScale           = serializedObject.FindProperty("perlinXScale");
        perlinYScale           = serializedObject.FindProperty("perlinYScale");
        perlinOffsetX          = serializedObject.FindProperty("perlinOffsetX");
        perlinOffsetY          = serializedObject.FindProperty("perlinOffsetY");
        perlinOctaves          = serializedObject.FindProperty("perlinOctaves");
        perlinPersistance      = serializedObject.FindProperty("perlinPersistance");
        perlinHeightScale      = serializedObject.FindProperty("perlinHeightScale");
        resetTerrain           = serializedObject.FindProperty("resetTerrain");
        perlinParameterTable   = new GUITableState("perlinParameterTable");
        perlinParameters       = serializedObject.FindProperty("perlinParameters");
        voronoiDropOff         = serializedObject.FindProperty("voronoiDropOff");
        voronoiFallOff         = serializedObject.FindProperty("voronoiFallOff");
        voronoiMinHeight       = serializedObject.FindProperty("voronoiMinHeight");
        voronoiMaxHeight       = serializedObject.FindProperty("voronoiMaxHeight");
        voronoiPeaks           = serializedObject.FindProperty("voronoiPeaks");
        voronoiType            = serializedObject.FindProperty("voronoiType");
        MPDheightMin           = serializedObject.FindProperty("MPDheightMin");
        MPDheightMax           = serializedObject.FindProperty("MPDheightMax");
        MPDheightDampenerPower = serializedObject.FindProperty("MPDheightDampenerPower");
        MPDroughness           = serializedObject.FindProperty("MPDroughness");
        smoothAmount           = serializedObject.FindProperty("smoothAmount");
        splatMapTable          = new GUITableState("splatMapTable");
        splatHeights           = serializedObject.FindProperty("splatHeights");
        vegMapTable            = new GUITableState("vegMapTable");
        vegetation             = serializedObject.FindProperty("vegetation");
        maxTrees    = serializedObject.FindProperty("maxTrees");
        treeSpacing = serializedObject.FindProperty("treeSpacing");

        hmTexture = new Texture2D(513, 513, TextureFormat.ARGB32, false);

        detailMapTable = new GUITableState("detailMapTable");
        detail         = serializedObject.FindProperty("details");
        maxDetails     = serializedObject.FindProperty("maxDetails");
        detailSpacing  = serializedObject.FindProperty("detailSpacing");
    }
    void OnEnable()
    {
        randomHeightRange = serializedObject.FindProperty("randomHeightRange");
        heightMapScale    = serializedObject.FindProperty("heightMapScale");
        heightMapImage    = serializedObject.FindProperty("heightMapImage");
        perlinXScale      = serializedObject.FindProperty("perlinXScale");
        perlinYScale      = serializedObject.FindProperty("perlinYScale");
        perlinOffsetX     = serializedObject.FindProperty("perlinOffsetX");
        perlinOffsetY     = serializedObject.FindProperty("perlinOffsetY");
        oct                      = serializedObject.FindProperty("oct");
        persistance              = serializedObject.FindProperty("persistance");
        perlinHeightScale        = serializedObject.FindProperty("perlinHeightScale");
        resetTerrain             = serializedObject.FindProperty("resetTerrain");
        perlinParameterTable     = new GUITableState("perlinParameterTable");
        perlinParameters         = serializedObject.FindProperty("perlinParameters");
        voronoiDropOff           = serializedObject.FindProperty("voronoiDropOff");
        voronoiFallOff           = serializedObject.FindProperty("voronoiFallOff");
        voronoipeakCount         = serializedObject.FindProperty("peakCount");
        voronoiMinMountainHeight = serializedObject.FindProperty("minMountainHeight");
        voronoiMaxMountainHeight = serializedObject.FindProperty("maxMountainHeight");
        voronoiType              = serializedObject.FindProperty("voronoiType");
        midPointHeightMin        = serializedObject.FindProperty("MPDHeightMin");
        midPointHeightMax        = serializedObject.FindProperty("MPDHeightMax");
        midPointRoughness        = serializedObject.FindProperty("roughness");
        midPointHeightDampening  = serializedObject.FindProperty("heightDampenerPower");
        smoothAmount             = serializedObject.FindProperty("smoothAmount");

        splatHeightsTable = new GUITableState("splatHeightsTable");
        splatHeights      = serializedObject.FindProperty("splatHeights");
        splatNoiseScale   = serializedObject.FindProperty("splatNoiseScale");
        splatNoiseXScale  = serializedObject.FindProperty("splatNoiseXScale");
        splatNoiseYScale  = serializedObject.FindProperty("splatNoiseYScale");
        splatOffset       = serializedObject.FindProperty("splatOffset");

        vegeatationHeightsTable = new GUITableState("vegeatationHeightsTable");
        vegetationHeights       = serializedObject.FindProperty("vegetationHeights");
        vegetationMaximumTrees  = serializedObject.FindProperty("vegetationMaximumTrees");
        vegetationTreeSpacing   = serializedObject.FindProperty("vegetationTreeSpacing");
    }
    void Vegetation()
    {
        showVegetation = EditorGUILayout.Foldout(showVegetation, "Vegetation");

        if (showVegetation)
        {
            EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
            GUILayout.Label("Vegetation", EditorStyles.boldLabel);
            EditorGUILayout.IntSlider(maxTrees, 0, 10000, "Max Trees");
            EditorGUILayout.IntSlider(treeSpacing, 2, 20, "Tree Spacing");

            vegetationTable = GUITableLayout.DrawTable(
                vegetationTable, vegetation, GUITableOption.Reorderable(true));

            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("+"))
            {
                terrain.AddNewVegetation();
            }

            if (GUILayout.Button("-"))
            {
                terrain.RemoveVegetation();
            }

            EditorGUILayout.EndHorizontal();

            if (GUILayout.Button("Apply Vegetation"))
            {
                terrain.PlantVegetation();
            }

            if (GUILayout.Button("Clear Vegetation"))
            {
                terrain.ClearVegetation();
            }
        }
    }