public override void OnInspectorGUI()
    {
        AutomataCelular3Estados automata = target as AutomataCelular3Estados;

        string[] opciones = new string[automata.reglasIniciales.Length];
        for (int i = 0; i < opciones.Length; i++)
        {
            opciones[i] = automata.reglasIniciales[i].name;
        }
        EditorGUI.BeginChangeCheck();
        ushort opc = (ushort)EditorGUILayout.Popup("Set Regla Global", automata.DistrubucionReglas == null?-1:automata.DistrubucionReglas[0], opciones);

        if (EditorGUI.EndChangeCheck() && automata.DistrubucionReglas != null)
        {
            if (modohalf)
            {
                for (int x = 0; x < automata.ancho; x++)
                {
                    for (int y = 0; y < automata.alto; y++)
                    {
                        if ((ladoA && x < automata.ancho / 2) || (!ladoA && x >= automata.ancho / 2))
                        {
                            automata.SetRegla(x + automata.ancho / 4, y, opc);
                        }
                    }
                }
                ladoA = !ladoA;
            }
            else
            {
                automata.SetReglaGlobal(opc);
            }
        }
        modohalf = EditorGUILayout.Toggle("Modo Mitad Reglas", modohalf);

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Ruido Global"))
        {
            automata.RuidoGlobal();
        }
        if (GUILayout.Button("Ruido Central"))
        {
            automata.RuidoCentral();
        }
        if (GUILayout.Button("Ruido Central Aditivo"))
        {
            automata.RuidoCentral(true);
        }
        EditorGUILayout.EndHorizontal();
        DrawDefaultInspector();
    }
Exemple #2
0
 private void Reset()
 {
     automata = FindObjectOfType <AutomataCelular3Estados>();
 }
Exemple #3
0
 private void Reset()
 {
     automata = FindObjectOfType <AutomataCelular3Estados>();
     rend     = GetComponent <Renderer>();
 }