Jump to content
Unity Insider Forum

Ominöse Fehlermeldung(Assemblyverweis)


tklustig

Recommended Posts

Hallo Leute, wenn ich folgendes Script über den Playbutton laufen lasse, funktioniert alles anstandslos. Versuche ich allerdings, den Code binär zu erzeugen, also eine EXE, bekomme ich folgende Fehlermeldung:

"Assets/NewBehaviourScript.cs(8,21): error CS0234: The type or namespace name `EditorUtility' does not exist in the namespace `UnityEditor'. Are you missing an assembly reference?"

Wie kann das sein??

using UnityEngine;
using UnityEngine.UI;

public class NewBehaviourScript : MonoBehaviour
{

    public Animation anim;
    public Slider slider;
    public Button button;
    public AudioSource source;
    private bool description = true;
    void Start()
    {
        button.onClick.AddListener(StartStop);
        anim.enabled = false;
        source.Stop();
    }
    void Update()
    {
        anim["AnimateTrees"].speed = slider.value;
    }
    void StartStop()
    {
        //Debug.Log("You have clicked the button!");
        if (slider.value == 0)
        {
            UnityEditor.EditorUtility.DisplayDialog("Information !", "Erst die Animationsgeschwindigkeit durch den Slider regulieren bzw. erhöhen, dann Button pushen.", "OK");
            return;
        }

        if (description)
        {
            description = false;
            anim.enabled = true;
            anim.Play();
            source.Play();
            GameObject.Find("Button").GetComponentInChildren<Text>().text = "Stop Animation";
        }
        else
        {
            description = true;
            GameObject.Find("Button").GetComponentInChildren<Text>().text = "Start Animation";
            anim.enabled = false;
            source.Pause();
        }
    }
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

UnityEditor.EditorUtility

Ist nur für den Editor selbst.
Das kompilierte Spiel kann damit nix mehr anfangen.
Diese Dialoge werden für Anwendungen wie Scriptableobjects usw benutzt wenn du dir eigene Tools für die Entwicklung bastelst zum Beispiel.
Wenn du diese Meldung im Spiel auch haben willst musst du das mit nem UI machen ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielleicht trotzdem interessant:

Mit sogenannten Precompiler Flags (der sortiert vor dem Compiler unnötigen Kram weg) kannst Du trotzdem Editor Code nutzen, solange Du im Editor testest.

Sprich, Du baust den Editor Code ein und "umklammerst" ihn dann mit

#if UNITY_EDITOR 
... Editor Code ... 
#endif

Natürlich wird es dann immernoch nicht in einem Build funktionieren. Dafür brauchst Du eine andere Lösung. :) 

Für eine Build MessageBox kannst Du einen UI Canvas als Prefab speichern, den Du dann zu gegebener Zeit instanzierst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...