mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-09 19:25:54 +00:00
Separated ammo and notifications from hud
This commit is contained in:
parent
d644cece7f
commit
46c433e5f7
39 changed files with 258 additions and 86 deletions
48
Scripts/Utils/EnumsFlagsExtensions.cs
Normal file
48
Scripts/Utils/EnumsFlagsExtensions.cs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
|
||||
namespace Cirno.Scripts.Utils;
|
||||
|
||||
public static class EnumFlagsExtensions
|
||||
{
|
||||
public static bool HasAllFlags<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (valueInt & flagsInt) == flagsInt;
|
||||
}
|
||||
|
||||
public static bool HasAnyFlag<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (valueInt & flagsInt) != 0;
|
||||
}
|
||||
|
||||
public static bool HasNoFlags<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (valueInt & flagsInt) == 0;
|
||||
}
|
||||
|
||||
public static T AddFlags<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (T)Enum.ToObject(typeof(T), valueInt | flagsInt);
|
||||
}
|
||||
|
||||
public static T RemoveFlags<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (T)Enum.ToObject(typeof(T), valueInt & ~flagsInt);
|
||||
}
|
||||
|
||||
public static T ToggleFlags<T>(this T value, T flags) where T : Enum
|
||||
{
|
||||
var valueInt = Convert.ToUInt64(value);
|
||||
var flagsInt = Convert.ToUInt64(flags);
|
||||
return (T)Enum.ToObject(typeof(T), valueInt ^ flagsInt);
|
||||
}
|
||||
}
|
||||
1
Scripts/Utils/EnumsFlagsExtensions.cs.uid
Normal file
1
Scripts/Utils/EnumsFlagsExtensions.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://d11mwshvtc327
|
||||
Loading…
Add table
Add a link
Reference in a new issue