List has no value after adding values in
- by Sigh-AniDe
I am creating a a ghost sprite that will mimic the main sprite after 10 seconds of the game. I am storing the users movements in a List<string> and i am using a foreach loop to run the movements. The problem is when i run through the game by adding breakpoints the movements are being added to the List<string> but when the foreach runs it shows that the list has nothing in it. Why does it do that? How can i fix it?
this is what i have:
public List<string> ghostMovements = new List<string>();
public void UpdateGhost(float scalingFactor, int[,] map)
{
// At this foreach, ghostMovements has nothing in it
foreach (string s in ghostMovements)
{
// current position of the ghost on the tiles
int mapX = (int)(ghostPostition.X / scalingFactor);
int mapY = (int)(ghostPostition.Y / scalingFactor);
if (s == "left")
{
switch (ghostDirection)
{
case ghostFacingUp:
angle = 1.6f;
ghostDirection = ghostFacingRight;
Program.form.direction = "";
break;
case ghostFacingRight:
angle = 3.15f;
ghostDirection = ghostFacingDown;
Program.form.direction = "";
break;
case ghostFacingDown:
angle = -1.6f;
ghostDirection = ghostFacingLeft;
Program.form.direction = "";
break;
case ghostFacingLeft:
angle = 0.0f;
ghostDirection = ghostFacingUp;
Program.form.direction = "";
break;
}
}
}
}
// The movement is captured here and added to the list
public void captureMovement()
{
ghostMovements.Add(Program.form.direction);
}