From ab619192a675c7aa29218d5e6ca7ccd5acc011ef Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 12 Jul 2022 17:57:27 -0700 Subject: [PATCH] combine button states --- src/Input/ButtonState.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Input/ButtonState.cs b/src/Input/ButtonState.cs index 0d137436..4967f35c 100644 --- a/src/Input/ButtonState.cs +++ b/src/Input/ButtonState.cs @@ -34,5 +34,28 @@ return new ButtonState(ButtonStatus.Released); } + + public static ButtonState operator |(ButtonState a, ButtonState b) + { + if (a.ButtonStatus == ButtonStatus.Released) + { + return b; + } + else if (a.ButtonStatus == ButtonStatus.Pressed) + { + if (b.ButtonStatus == ButtonStatus.Held) + { + return new ButtonState(ButtonStatus.Held); + } + else + { + return a; + } + } + else // held + { + return a; + } + } } }