+ if (!mLastPressedKeys.Contains(k)) pressedKeys.Add(k);\r
+ else mLastPressedKeys.Remove(k);\r
+ }\r
+\r
+ releasedKeys = mLastPressedKeys;\r
+ mLastPressedKeys = new List<Keys>(pressedKeysArray);\r
+ //Just apply input for the first player\r
+ mCharacters[0].MovePlayer(pressedKeys);\r
+ if (pressedKeys.Contains(Keys.Enter) && !releasedKeys.Contains(Keys.Enter))\r
+ {\r
+ mProjectiles.Add(new Projectile(mMap, everything, new Vector2(-5,0), mCharacters[0].GridX +1, mCharacters[0].GridY+1, (int)mCharacters[0].GridX*(int)Map.PixelsToUnitSquares,(int)mCharacters[0].GridY*(int)Map.PixelsToUnitSquares));\r
+ }\r
+ mMap.CenterCell = new Vector2(mCharacters[0].GridX, mCharacters[0].GridY);\r
+#endif\r
+ \r
+ //Handle projectiles - update and check for wall collisions\r
+ for (int i = 0; i < mProjectiles.Count; i++ )\r
+ {\r
+ bool removed = false;\r
+ if (!mMap.IsCellOpen(new Point(mProjectiles[i].GridX, mProjectiles[i].GridY)))\r
+ {\r
+ \r
+ mProjectiles.RemoveAt(i);\r
+ removed = true;\r
+ i--;\r
+ }\r
+ if(!removed)\r
+ mProjectiles[i].Update(timespan);\r
+ \r