From 90c1dd9348b8540f13c5fe11f47a7279e4ccd38e Mon Sep 17 00:00:00 2001 From: Syntriax Date: Mon, 31 Mar 2025 16:46:19 +0300 Subject: [PATCH] chore: EnumExtensions added --- Engine.Core/Extensions/EnumExtensions.cs | 9 +++++++++ Engine.Systems/Time/TimerState.cs | 8 ++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 Engine.Core/Extensions/EnumExtensions.cs diff --git a/Engine.Core/Extensions/EnumExtensions.cs b/Engine.Core/Extensions/EnumExtensions.cs new file mode 100644 index 0000000..1f7e8b1 --- /dev/null +++ b/Engine.Core/Extensions/EnumExtensions.cs @@ -0,0 +1,9 @@ +using System; + +namespace Syntriax.Engine.Core; + +public static class EnumExtensions +{ + public static bool CheckFlag(this Enum left, Enum right) + => ((int)(object)left & (int)(object)right) != 0; +} diff --git a/Engine.Systems/Time/TimerState.cs b/Engine.Systems/Time/TimerState.cs index 4702f3d..4bda41a 100644 --- a/Engine.Systems/Time/TimerState.cs +++ b/Engine.Systems/Time/TimerState.cs @@ -2,8 +2,8 @@ namespace Syntriax.Engine.Systems.Time; public enum TimerState { - Idle, - Ticking, - Paused, - Stopped + Idle = 0b0001, + Ticking = 0b0010, + Paused = 0b0100, + Stopped = 0b1000 }