+ List<Keys> pressedKeys = new List<Keys>();\r
+ List<Keys> releasedKeys = new List<Keys>();\r
+\r
+ Keys[] pressedKeysArray = keyState.GetPressedKeys();\r
+ foreach (Keys k in pressedKeysArray)\r
+ {\r
+ 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