using Godot; using System; using System.Collections.Generic; namespace Rokojori { public class Bytes { public static byte SetBit( byte value, int position ) { return (byte) ( ( 1 << position ) | value ); } public static byte UnsetBit( byte value, int position ) { var mask = 1 << position; var invertedMask = ~mask; return (byte)( value & invertedMask ); } public static bool IsBitSet( byte value, int position ) { var mask = 1 << position; return ( mask & value ) == mask ; } public static List Convert( List floats ) { var list = new List(); floats.ForEach( f => list.AddRange( BitConverter.GetBytes( f ) ) ); return list; } public static List Convert( List ints ) { var list = new List(); ints.ForEach( i => list.AddRange( BitConverter.GetBytes( i ) ) ); return list; } } }