public override void Update(GameTime gameTime)
{
ControlManager.Update(gameTime, PlayerIndex.One);
if (InputHandler.PressedCancel() && _passStep != 8)
Game.Exit();
if (InputHandler.PressedUp())
{
_menuIndex--;
if (_menuIndex < 0)
_menuIndex = _menuText.Length - 1;
GameRef.Select.Play();
}
if (InputHandler.PressedDown())
{
_menuIndex = (_menuIndex + 1) % _menuText.Length;
GameRef.Select.Play();
}
if (InputHandler.PressedAction() && _passStep != 9)
{
GameRef.Choose.Play();
// 1 Player
if (_menuIndex == 0)
{
Config.PlayersNumber = 1;
StateManager.ChangeState(GameRef.GameplayScreen);
}
// 2 Players
else if (_menuIndex == 1)
{
Config.PlayersNumber = 2;
StateManager.ChangeState(GameRef.GameplayScreen);
}
// Improvements
else if (_menuIndex == 2)
StateManager.ChangeState(GameRef.ImprovementScreen);
// Options
else if (_menuIndex == 3)
StateManager.ChangeState(GameRef.OptionsScreen);
// Exit
else if (_menuIndex == 4)
Game.Exit();
}
if (_backgroundMainRectangle.X + Config.Resolution.X <= 0)
_backgroundMainRectangle.X = _backgroundRightRectangle.X + Config.Resolution.X;
if (_backgroundRightRectangle.X + Config.Resolution.X <= 0)
_backgroundRightRectangle.X = _backgroundMainRectangle.X + Config.Resolution.X;
/*
if (_backgroundMainRectangle.Y + _backgroundImage.Height <= 0)
_backgroundMainRectangle.Y = _backgroundTopRectangle.Y - _backgroundImage.Height;
if (_backgroundTopRectangle.Y + _backgroundImage.Height <= 0)
_backgroundTopRectangle.Y = _backgroundMainRectangle.Y - _backgroundImage.Height;
*/
_backgroundMainRectangle.X -= (int)(70 * (float)gameTime.ElapsedGameTime.TotalSeconds);
_backgroundRightRectangle.X -= (int)(70 * (float)gameTime.ElapsedGameTime.TotalSeconds);
// Cheat and debug mode
if (!Config.Cheat)
{
if ((_passStep == 0 || _passStep == 1) && InputHandler.PressedUp())
{
_passStep++;
}
else if ((_passStep == 2 || _passStep == 3) && InputHandler.PressedDown())
{
_passStep++;
}
else if ((_passStep == 4 || _passStep == 6) && InputHandler.PressedLeft())
{
_passStep++;
}
else if ((_passStep == 5 || _passStep == 7) && InputHandler.PressedRight())
{
_passStep++;
}
else if (_passStep == 8 && (InputHandler.PressedCancel() || InputHandler.KeyPressed(Keys.B)))
{
_passStep++;
}
else if (_passStep == 9 && (InputHandler.PressedAction() || InputHandler.KeyPressed(Keys.A)))
{
_passStep++;
}
if (_passStep == 10)
{
Config.Cheat = true;
_passSound.Play();
}
}
else if (InputHandler.KeyDown(Keys.F9))
{
Config.Debug = !Config.Debug;
}
#if DEBUG
if (InputHandler.KeyDown(Keys.F10))
{
StateManager.ChangeState(GameRef.DebugScreen);
}
else if (InputHandler.KeyDown(Keys.F12))
{
StateManager.ChangeState(GameRef.PatternTestScreen);
}
#endif
if (Config.Cheat)
{
if (InputHandler.KeyDown(Keys.A) || InputHandler.ButtonDown(Buttons.Y, PlayerIndex.One))
{
PlayerData.Credits += 1000;
}
}
base.Update(gameTime);
}