示例#1
0
    public override void OnInspectorGUI()
    {
        NoiseBox t = target as NoiseBox;

        if (GUILayout.Button("Add"))
        {
            t.noises.Add(new NoiseBox.Noise(0, 0));
        }

        t.overallStrength = EditorGUILayout.FloatField(t.overallStrength);
        EditorGUILayout.BeginHorizontal();


        precision = EditorGUILayout.IntField(precision);
        if (GUILayout.Button("Randomize"))
        {
            t.noises = new List <NoiseBox.Noise>();
            t.Randomize(precision);
        }

        EditorGUILayout.EndHorizontal();
        for (int i = t.noises.Count - 1; i >= 0; i--)
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Delete"))
            {
                t.noises.RemoveAt(i);
                continue;
            }
            DrawNoise(t.noises[i]);
            EditorGUILayout.EndHorizontal();
        }
    }
示例#2
0
 public void Randomize()
 {
     noise      = ScriptableObject.CreateInstance <NoiseBox>();
     color      = Random.ColorHSV();
     complement = Random.ColorHSV();
     noise.Randomize();
     offset = new Vector3(Random.Range(0, 100f), Random.Range(0, 100f), Random.Range(0, 100f));
 }