mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Enum extension for SetFlag and ClearFlag
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
namespace System;
|
||||
|
||||
extension Enum
|
||||
{
|
||||
public static void SetFlag<T>(ref T value, T flag) where T : enum
|
||||
{
|
||||
value = (T)(value.Underlying | flag.Underlying);
|
||||
}
|
||||
|
||||
public static void ClearFlag<T>(ref T value, T flag) where T : enum
|
||||
{
|
||||
value = (T)(value.Underlying & ~flag.Underlying);
|
||||
}
|
||||
|
||||
public static void SetFlagConditionally<T>(ref T value, T flag, bool setFlag) where T : enum
|
||||
{
|
||||
if (setFlag)
|
||||
SetFlag<T>(ref value, flag);
|
||||
else
|
||||
ClearFlag<T>(ref value, flag);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user