Basic gamepad with force feedback impl
This commit is contained in:
@@ -17,8 +17,8 @@ namespace EvilSatellites.Screens
|
||||
public ScreenManager _Manager;
|
||||
public ScreenState _State;
|
||||
public InputManager Inputs = new InputManager();
|
||||
|
||||
|
||||
private double DescWaitTime;
|
||||
private bool DescRead;
|
||||
public ScreenManager Manager { get => _Manager; set => _Manager = value; }
|
||||
public ScreenState State { get => _State; set => _State = value; }
|
||||
|
||||
@@ -30,6 +30,8 @@ namespace EvilSatellites.Screens
|
||||
Tolk.Output(MenuOptions.Entries[CursorPosition].Name);
|
||||
Manager.Sound.PlayOneshot(@"sfx/ui/menuOpen.wav");
|
||||
Manager.Music.Play("menu1");
|
||||
DescWaitTime = 0;
|
||||
DescRead = false;
|
||||
}
|
||||
|
||||
public virtual void Deactivate()
|
||||
@@ -40,15 +42,15 @@ namespace EvilSatellites.Screens
|
||||
public void HandleInput(GameTime gameTime, KeyboardState inputs)
|
||||
{
|
||||
Inputs.Update();
|
||||
if (Inputs.IsJustPressed(Keys.Down))
|
||||
if (Inputs.IsJustPressed(Keys.Down) || Inputs.IsJustPressed(Buttons.DPadDown))
|
||||
{
|
||||
NextItem();
|
||||
}
|
||||
if (Inputs.IsJustPressed(Keys.Up))
|
||||
if (Inputs.IsJustPressed(Keys.Up) || Inputs.IsJustPressed(Buttons.DPadUp))
|
||||
{
|
||||
PreviousItem();
|
||||
}
|
||||
if (Inputs.IsJustPressed(Keys.Enter))
|
||||
if (Inputs.IsJustPressed(Keys.Enter) || Inputs.IsJustPressed(Buttons.A))
|
||||
{
|
||||
SelectItem();
|
||||
}
|
||||
@@ -57,7 +59,12 @@ namespace EvilSatellites.Screens
|
||||
public virtual void Update(GameTime gameTime)
|
||||
{
|
||||
Manager.Sound.Update();
|
||||
|
||||
DescWaitTime += gameTime.ElapsedGameTime.TotalMilliseconds;
|
||||
if (DescWaitTime > 2000 && DescRead == false)
|
||||
{
|
||||
Tolk.Output(MenuOptions.Entries[CursorPosition].Description, false);
|
||||
DescRead = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void PreviousItem()
|
||||
@@ -92,6 +99,8 @@ namespace EvilSatellites.Screens
|
||||
{
|
||||
Manager.Sound.PlayOneshot(@"sfx/ui/menuMove.wav");
|
||||
Tolk.Output(MenuOptions.Entries[CursorPosition].Name, true);
|
||||
DescRead = false;
|
||||
DescWaitTime = 0;
|
||||
}
|
||||
|
||||
public virtual void SelectItem()
|
||||
|
||||
Reference in New Issue
Block a user