Scheint hat, dass aus irgendwelchen Gründen, Unity-Benutzeroberfläche nicht Funktionen mag haben, die Standardparameter verwendenUI erkennt keine Funktionen, die Standardparameter
public void PrintButtonName(GameObject go, string button_pressed = "none")
{
if (button_pressed != "none")
Debug.Log(go.name);
}
Dies wird nicht in eine Schaltfläche klicken Ereignis angezeigt werden, der Editor. Wenn ich den Standardwert entferne, kann der Editor die Funktion wieder "sehen" und Sie können sie verwenden.
Warum ist das? Ist das ein Fehler? Ich muss einen optionalen Parameter verwenden, aber ich kann nicht, da das onClick diese Funktion mit dem Standard nicht sehen wird.
Danke für die Antwort. Es ist also eine Einschränkung des Systems selbst. Es ist wirklich enttäuschend, dass Sie gezwungen sind, einen Parameter zu verwenden, es sei denn, Sie schreiben eine andere Funktion. Meistens wird dadurch der Code komplexer, was wiederum die Chancen erhöht, etwas zu vermasseln. Danke nochmal für die Erklärung! –
Kein Problem. Ich habe bemerkt, dass Sie Editor für Ihre Rückruffunktionen in Ihren anderen Fragen verwenden. ** Switch ** zu Code, da es keine Einschränkungen hat. Editor hat viele Einschränkungen, auf die Sie wahrscheinlich stoßen werden, die ich hier nicht erwähnt habe. – Programmer