55 lines
1.3 KiB
C#
55 lines
1.3 KiB
C#
namespace Plugin
|
|
{
|
|
/// <summary>
|
|
/// Adds helper methods to blobs.
|
|
/// </summary>
|
|
public static class BlobExtensions
|
|
{
|
|
public static void extractEnum<TEnum>(this IBlob blob, ref TEnum @enum)
|
|
{
|
|
int enumValue = (int) (object) @enum;
|
|
blob.extract(ref enumValue);
|
|
@enum = (TEnum) (object) enumValue;
|
|
}
|
|
|
|
public static void pushEnum<TEnum>(this IBlob blob, TEnum @enum)
|
|
{
|
|
blob.push((int)(object)@enum);
|
|
}
|
|
|
|
public static uint extractUInt(this IBlob blob)
|
|
{
|
|
uint value = 0;
|
|
blob.extract(ref value);
|
|
return value;
|
|
}
|
|
|
|
public static string extractString(this IBlob blob)
|
|
{
|
|
string value = "";
|
|
blob.extract(ref value);
|
|
return value;
|
|
}
|
|
|
|
public static bool extractBool(this IBlob blob)
|
|
{
|
|
bool value = false;
|
|
blob.extract(ref value);
|
|
return value;
|
|
}
|
|
|
|
public static int extractInt(this IBlob blob)
|
|
{
|
|
int value = 0;
|
|
blob.extract(ref value);
|
|
return value;
|
|
}
|
|
|
|
public static float extractFloat(this IBlob blob)
|
|
{
|
|
float value = 0;
|
|
blob.extract(ref value);
|
|
return value;
|
|
}
|
|
}
|
|
}
|