Ich habe an einem Spiel mit Unity, C# und Visual Studio gearbeitet.Methode kehrt früh und unerwartet zurück
Es gibt eine Methode, die korrekt funktioniert hat und aus einem unbekannten Grund nicht mehr funktioniert. Bei der Verwendung von Visual Studio Code Stepping habe ich herausgefunden, dass die Methode sofort zurückkehrt, nachdem sie den if-Codeblock beendet hat.
Das bedeutet, dass die Linien
equippedItem = null;
slotIsEquipped = false;
nicht mehr ausgeführt werden sollen.
public void Unequip()
{
if (equippedItem != null)
{
equippedItem.transform.parent = null;
equippedItem.GetComponent<Animator>().applyRootMotion = true;
equippedItem.GetComponent<Animator>().enabled = false;
equippedItem.transform.position = new Vector3(0, -256, 0);
equippedItem.GetComponent<Weapon>().holder = null; //
}
equippedItem = null;
slotIsEquipped = false;
}
Wie auf der Erde ist das möglich?
Laufen Sie im Freigabemodus? – Steve
Nein, die Einstellungen sind Debug/Any CPU. –
Wenn Sie etwas direkt nach 'equipedItem.GetComponent() .holder = null;' setzen, wird es ausgeführt? –
IllidanS4