Piszę grę w XNA 4.0 pod Windows Phone 8.
Mam taki fragment kodu:
TouchCollection tc = TouchPanel.GetState();
foreach (TouchLocation touchLocation in tc)
{
if (touchLocation.State == TouchLocationState.Pressed)
{
int rodzajStatku = znajdzStatek((int)touchLocation.Position.X, (int)touchLocation.Position.Y);
Console.WriteLine(rodzajStatku);
if (rodzajStatku != -1 && iloscOkretowDoUstawienia[rodzajStatku - 2] > 0)
{
Texture2D nowaTekstura = Content.Load<Texture2D>("" + rodzajStatku);
okrety[iloscOkretowNaMapie].dodajTeksture(ref nowaTekstura, rodzajStatku);
zablokuj(iloscOkretowNaMapie);
iloscOkretowNaMapie++;
iloscOkretowDoUstawienia[rodzajStatku - 2]--;
}
}
W linii:
okrety[iloscOkretowNaMapie].dodajTeksture(ref nowaTekstura, rodzajStatku);
występuje wyjątek podczas debugowania:
An exception of type 'System.NullReferenceException' occurred in WindowsPhoneGame1.DLL but was not handled in user code
If there is a handler for this exception, the program may be safely continued.
Co może powodować taki błąd? Słyszałem i przeczytałem, że być może Garbage Collector zwolnił teksturę i być może dlatego wywaliło ten wyjątek. Ale przecież referencja do niej jest przechowywana w tablicy obiektów 'okrety'.
Co to może być?