Wpis z mikrobloga

Dobra, piszę tutaj bo już mnie #!$%@? bierze i nie wiem jak to rozwiązać, otóż kod wywala mi taki oto błąd:

NullReferenceException: Object reference not set to an instance of an object
Targeting+c__Iterator10.MoveNext () (at Assets/Scripts/Targeting.cs:79)

Problem w tym, że wspomniana 79. linia kodu wygląda następująco:

else if (!CheckMode(item.groundTarget)) // targeting mode doesn't match
a obiekt item nie jest nullem

Google niestety nie pomogło, #pomuszta bo wychodzę z siebie. Wrzucam tutaj kod całej metody: http://pastebin.com/jpz6w8e2

#unity3d #csharp #gamedev #blisherkodzi
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dlatego nie lubię robić nic w unity, JS i innych skryptach ( ͡º ͜ʖ͡º). Jest super aż do momentu, gdy coś nie działa i za #!$%@? nie wiesz co (,)
Spróbuj usunąc tą linijkę i zobaczyć czy inne warunki się wykonają.
  • Odpowiedz
@Spisssek: To potem każdy kolejny gdzie jest "item" wywala ten sam błąd, normalnie bym pomyślał tak jak @alienv ale właśnie ten cały item nie jest nullem.

@jigsaw96: Wrzuciłem, zwraca dobre wartości właśnie

Co ciekawe teraz mam coś takiego i dopiero 5. linijka zwraca error, a pierwsza wykonuje się bez błędu
  • Odpowiedz
@blisher: tak ale w pierwszej item moze byc czymkolwiek, dopiero w else zakladasz ze to okreslony obiekt ktory posiada jakis groundTarget :) debuguj ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@blisher: iterator.MoveNext wskazuje na to, że błąd jest albo w foreach() albo w Coroutine, z takich popularniejszych rzeczy korzystających z iteratorów. masz coś z tych dwóch w CheckMode()? Czym jest SeekingForTarget?
  • Odpowiedz