Exemple #1
0
 /// <summary>
 /// Encodes a <c>Variant</c> value to a byte array.
 /// If <paramref name="fullObjects"/> is <see langword="true"/> encoding objects is allowed
 /// (and can potentially include code).
 /// Deserialization can be done with <see cref="BytesToVar(Span{byte}, bool)"/>.
 /// </summary>
 /// <param name="var">Variant that will be encoded.</param>
 /// <param name="fullObjects">If objects should be serialized.</param>
 /// <returns>The <c>Variant</c> encoded as an array of bytes.</returns>
 public static byte[] VarToBytes(Variant var, bool fullObjects = false)
 {
     NativeFuncs.godotsharp_var_to_bytes((godot_variant)var.NativeVar, fullObjects.ToGodotBool(), out var varBytes);
     using (varBytes)
         return(Marshaling.ConvertNativePackedByteArrayToSystemArray(varBytes));
 }