Renderer:

+ Font.BaselineAdjust

Utils:
+ GameControllerState.AnyInteractions
This commit is contained in:
Michel Fedde 2021-05-21 16:05:52 +02:00
parent 89de4258e1
commit dffa581596
18 changed files with 70 additions and 40 deletions

View file

@ -1,6 +1,6 @@
using SharpDX.XInput;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameController
{

View file

@ -2,7 +2,7 @@
using OpenTK;
using SharpDX.XInput;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameControllerState
{
@ -12,7 +12,7 @@ namespace SM.Optionals.Controls
public GameControllerStateButtons Buttons;
public bool FromConnected { get; }
public bool AnyInteraction => Buttons.AnyInteraction || DPad.AnyInteraction || Triggers.AnyInteraction || Thumbs.AnyInteraction;
internal GameControllerState(bool empty)
{
FromConnected = false;

View file

@ -1,6 +1,6 @@
using SharpDX.XInput;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameControllerStateButtons
{
@ -19,8 +19,13 @@ namespace SM.Optionals.Controls
public bool LeftThumb;
public bool RightThumb;
public bool Start;
public bool Back;
public bool this[GamepadButtonFlags flags] => _buttonFlags.HasFlag(flags);
public bool AnyInteraction { get; }
internal GameControllerStateButtons(GamepadButtonFlags flags)
{
_buttonFlags = flags;
@ -35,6 +40,11 @@ namespace SM.Optionals.Controls
LeftThumb = flags.HasFlag(GamepadButtonFlags.LeftThumb);
RightThumb = flags.HasFlag(GamepadButtonFlags.RightThumb);
Start = flags.HasFlag(GamepadButtonFlags.Start);
Back = flags.HasFlag(GamepadButtonFlags.Back);
AnyInteraction = (int) flags >= 16;
}
public override string ToString()

View file

@ -1,6 +1,6 @@
using SharpDX.XInput;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameControllerStateDPad
{
@ -11,12 +11,16 @@ namespace SM.Optionals.Controls
public bool Left;
public bool Right;
public bool AnyInteraction { get; }
internal GameControllerStateDPad(GamepadButtonFlags flags)
{
Up = flags.HasFlag(GamepadButtonFlags.DPadUp);
Down = flags.HasFlag(GamepadButtonFlags.DPadDown);
Left = flags.HasFlag(GamepadButtonFlags.DPadLeft);
Right = flags.HasFlag(GamepadButtonFlags.DPadRight);
AnyInteraction = (int)flags > 0 && (int) flags < 16;
}
public override string ToString()

View file

@ -1,6 +1,6 @@
using OpenTK;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameControllerStateThumbs
{
@ -13,6 +13,8 @@ namespace SM.Optionals.Controls
public bool PressedLeft;
public bool PressedRight;
public bool AnyInteraction => Left != Vector2.Zero || Right != Vector2.Zero || PressedLeft || PressedRight;
public override string ToString()
{
return $"Left: ({Left.X}; {Left.Y}){(PressedLeft ? " Pressed" : "")}; Right: ({Right.X}; {Right.Y}){(PressedRight ? " Pressed" : "")}";

View file

@ -1,4 +1,4 @@
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameControllerStateTriggers
{
@ -6,6 +6,9 @@
public float Left;
public float Right;
public bool AnyInteraction => Left != 0f || Right != 0f;
public override string ToString()
{
return $"Left: {Left}; Right: {Right}";

View file

@ -1,6 +1,6 @@
using System;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public class GameKeybind
{

View file

@ -1,6 +1,6 @@
using OpenTK.Input;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public enum GameKeybindActorType
{

View file

@ -1,6 +1,6 @@
using OpenTK.Input;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public struct GameKeybindContext
{

View file

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public class GameKeybindHost
{

View file

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace SM.Optionals.Controls
namespace SM.Utils.Controls
{
public class GameKeybindList : List<KeyValuePair<string, GameKeybind>>
{