Пример #1
0
    public override void OnInspectorGUI()
    {
        WordService item = target as WordService;

        item.UsePlotter = GUILayout.Toggle(item.UsePlotter, "Use Plotter");

        item.ShowUsePlotter = GUILayout.Toggle(item.ShowUsePlotter, "Show Use Plotter");

        int textureSize = item.TextureSize;

        GUILayout.BeginHorizontal();
        GUILayout.Label("Texture Size:");
        item.TextureSize = (int)GUILayout.HorizontalSlider(item.TextureSize, 4, 512);
        item.TextureSize = EditorGUILayout.IntField(item.TextureSize);
        int log = (int)Mathf.Log(item.TextureSize, 2);

        item.TextureSize = (int)Mathf.Pow(2, log);
        item.TextureSize = Mathf.Min(item.TextureSize, 512);
        item.TextureSize = Mathf.Max(item.TextureSize, 4);
        GUILayout.EndHorizontal();


        item.MaterialSpectrumLeft  = (Material)EditorGUILayout.ObjectField("Material Spectrum Left:", item.MaterialSpectrumLeft, typeof(Material), false);
        item.MaterialSpectrumRight = (Material)EditorGUILayout.ObjectField("Material Spectrum Right:", item.MaterialSpectrumRight, typeof(Material), false);
        item.MaterialWave          = (Material)EditorGUILayout.ObjectField("Material Wave:", item.MaterialWave, typeof(Material), false);

//		item.RendererSpectrumLeft = (MeshRenderer)EditorGUILayout.ObjectField ("Renderer Spectrum Left:", item.RendererSpectrumLeft, typeof(MeshRenderer), true);
//		item.RendererSpectrumRight = (MeshRenderer)EditorGUILayout.ObjectField ("Renderer Spectrum Right:", item.RendererSpectrumRight, typeof(MeshRenderer), true);
//		item.RendererWave = (MeshRenderer)EditorGUILayout.ObjectField ("Renderer Wave:", item.RendererWave, typeof(MeshRenderer), true);

        GUILayout.BeginHorizontal();
        GUILayout.Label("FFT Window:");
        item.Window = (FFTWindow)EditorGUILayout.EnumPopup(item.Window);
        GUILayout.EndHorizontal();

        item.NormalizeGraph = GUILayout.Toggle(item.NormalizeGraph, "Normalize Graph");

        if (textureSize != item.TextureSize)
        {
            if (EditorApplication.isPlaying)
            {
                item.CleanUp();
                item.OnInit();
            }
        }
    }