improve stability of mikunyan-image
This commit is contained in:
@@ -56,14 +56,17 @@ assets.each do |asset|
|
|||||||
|
|
||||||
asset.objects.select{|o| asset.object_type(o) == 'Sprite'}.each do |o|
|
asset.objects.select{|o| asset.object_type(o) == 'Sprite'}.each do |o|
|
||||||
obj = asset.parse_object(o)
|
obj = asset.parse_object(o)
|
||||||
|
next unless obj
|
||||||
name = obj.m_Name.value
|
name = obj.m_Name.value
|
||||||
tex_id = obj.m_RD.texture.m_PathID.value
|
tex_id = obj.m_RD.texture.m_PathID.value
|
||||||
|
|
||||||
unless textures[tex_id]
|
unless textures[tex_id]
|
||||||
tex_obj = asset.parse_object(tex_id)
|
tex_obj = asset.parse_object(tex_id)
|
||||||
|
if tex_obj
|
||||||
textures[tex_id] = Mikunyan::ImageDecoder.decode_object(tex_obj) if tex_obj
|
textures[tex_id] = Mikunyan::ImageDecoder.decode_object(tex_obj) if tex_obj
|
||||||
json[tex_id] = {:name => tex_obj.m_Name.value, :width => textures[tex_id].width, :height => textures[tex_id].height, :path_id => tex_id, :sprites => []}
|
json[tex_id] = {:name => tex_obj.m_Name.value, :width => textures[tex_id].width, :height => textures[tex_id].height, :path_id => tex_id, :sprites => []}
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if textures[tex_id]
|
if textures[tex_id]
|
||||||
x = obj.m_Rect.x.value
|
x = obj.m_Rect.x.value
|
||||||
@@ -80,6 +83,7 @@ assets.each do |asset|
|
|||||||
json = []
|
json = []
|
||||||
asset.objects.select{|o| asset.object_type(o) == 'Texture2D'}.each do |o|
|
asset.objects.select{|o| asset.object_type(o) == 'Texture2D'}.each do |o|
|
||||||
obj = asset.parse_object(o)
|
obj = asset.parse_object(o)
|
||||||
|
next unless obj
|
||||||
name = obj.m_Name.value
|
name = obj.m_Name.value
|
||||||
image = Mikunyan::ImageDecoder.decode_object(obj)
|
image = Mikunyan::ImageDecoder.decode_object(obj)
|
||||||
if image
|
if image
|
||||||
|
|||||||
Reference in New Issue
Block a user