i’ve create a class having List as a property
here’s the code
public class ScreenEventNTF
{
//property
public List<string> list_event_string { get; set; }
//constructor
public ScreenEventNTF(blah blah)
{
list_event_string = new List<string>();
}
// the not-working method
public void AddToStringTodraw(string string_inp)
{
list_event_string.Add(string_inp);
}
}
from the main class i do something like
ScreenEventNTF notifier = new ScreenEventNTF(blah blah);
notifier.AddToStringTodraw("Fabulous");
and i try to write all the string in notifier.list_event_string but it didn’t seem to
have any value stored in the List
here’s the code according to the coments.
foreach (string text in notifier.list_event_string)
spriteBatch.DrawString(font_test, text ,
vector_mouse, Color.White, 0f, Vector2.Zero, 1.0f, SpriteEffects.None, 1.0f);
what am i doing wrong ??
please help me, any help will be appreciate.
The way you add to the list should work, and I think that it does work but the problem is that when you draw the string you either:
You can say that the method isn’t working if it is indeed called and there are no values present in the list. You can just confirm with the debugger, set a breakpoint just before the foreach (string…)
Also, if you’re not using scale, rotation as I can see from your parameters, you can just use this overload of the DrawString method: DrawString(SpriteFont, string, Vector2, Color)
Finally, if the List field is public, why should you expose the add functionality in a separate method? That’s not necessary unless there are going to be changes in encapsulation in the future.