コード例 #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");
 }
コード例 #6
0
 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
ファイル: TableDrawer.cs プロジェクト: K-D-Kevin/WorldTrigger
    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);
    }
コード例 #11
0
 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"
        });
    }
コード例 #15
0
    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");
 }
コード例 #18
0
 //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");
    }
コード例 #22
0
    //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);
    }
コード例 #25
0
    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");
 }
コード例 #27
0
    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");
    }
コード例 #29
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");
        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");
    }
コード例 #30
0
    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();
            }
        }
    }