fromJson static method

SkeletonData fromJson(
  1. Atlas atlas,
  2. String json
)

Loads a SkeletonData from the json string, using the provided atlas to resolve attachment images.

Throws an Exception in case the atlas could not be loaded.

Implementation

static SkeletonData fromJson(Atlas atlas, String json) {
  final jsonNative = json.toNativeUtf8(allocator: _allocator);
  final result = _bindings.spine_skeleton_data_load_json(atlas._atlas, jsonNative.cast());
  _allocator.free(jsonNative);
  if (_bindings.spine_skeleton_data_result_get_error(result).address != nullptr.address) {
    final Pointer<Utf8> error = _bindings.spine_skeleton_data_result_get_error(result).cast();
    final message = error.toDartString();
    _bindings.spine_skeleton_data_result_dispose(result);
    throw Exception("Couldn't load skeleton data: $message");
  }
  var data = SkeletonData._(_bindings.spine_skeleton_data_result_get_data(result));
  _bindings.spine_skeleton_data_result_dispose(result);
  return data;
}