Ejemplo n.º 1
0
Object* SerializerLoadObjectFromFile(Serializer* serializer, const Path& file)
{
	Stream* stream = StreamCreateFromFile(serializer->alloc, file.c_str(), StreamOpenMode::Read);	
	serializer->stream = stream;

	Object* object = SerializerLoad(serializer);
	StreamDestroy(stream);

	return object;
}
Ejemplo n.º 2
0
bool SceneLoader::decode(ResourceLoadOptions& options)
{
	Serializer* serializer = GetSerializerForStream(*options.stream);
	if( !serializer ) return false;

	Scene* scene = (Scene*) options.resource;

	serializer->stream = options.stream;
	serializer->object = scene;

	Object* object = SerializerLoad(serializer);
	
	if( !object )
	{
		Deallocate(serializer);
		return false;
	}

	assert( object == scene );
	Deallocate(serializer);

	return true;
}