예제 #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();
            }
        }
    }