mirror of
https://github.com/BlackMATov/unity-flash-tools.git
synced 2025-12-15 12:29:49 +07:00
Fix drawing object shape problems
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
###### Version 1.3.8
|
||||
* Fix shape groups in tweens problems
|
||||
* Fix drawing object shape problems
|
||||
* Fix locked elements problem
|
||||
* Fix optimizator bitmap trim problems
|
||||
* Fix Unity 5.6 submesh sorting bug
|
||||
|
||||
@@ -712,6 +712,18 @@
|
||||
fttim.is_group_shape_instance = function (elem) {
|
||||
return elem.elementType == "shape" && elem.isGroup;
|
||||
};
|
||||
|
||||
fttim.is_object_shape_instance = function (elem) {
|
||||
return elem.elementType == "shape" && elem.isDrawingObject;
|
||||
};
|
||||
|
||||
fttim.is_simple_shape_instance = function (elem) {
|
||||
return elem.elementType == "shape" && !elem.isGroup && !elem.isDrawingObject;
|
||||
};
|
||||
|
||||
fttim.is_complex_shape_instance = function (elem) {
|
||||
return elem.elementType == "shape" && (elem.isGroup || elem.isDrawingObject);
|
||||
};
|
||||
|
||||
fttim.is_symbol_instance = function (elem) {
|
||||
return elem.elementType == "instance" && elem.instanceType == "symbol";
|
||||
@@ -902,24 +914,27 @@
|
||||
timeline.currentFrame = frame_index;
|
||||
timeline.setSelectedFrames(frame_index, frame_index + 1, true);
|
||||
|
||||
var groups = ft.array_filter(frame.elements, fttim.is_group_shape_instance);
|
||||
ft.array_foreach(groups, function (group, group_index) {
|
||||
var elements = ft.array_clone(frame.elements);
|
||||
ft.array_foreach(elements, function (elem, elem_index) {
|
||||
doc.selectNone();
|
||||
doc.selection = [group];
|
||||
var group_depth = group.depth;
|
||||
|
||||
doc.unGroup();
|
||||
try {
|
||||
doc.unlockAllElements();
|
||||
} catch (e) {}
|
||||
|
||||
var wrapper_item_name = ft.gen_unique_name();
|
||||
var wrapper_item = doc.convertToSymbol("graphic", wrapper_item_name , "top left");
|
||||
for (var i = 0; i < group_depth; ++i) {
|
||||
doc.arrange("backward");
|
||||
doc.selection = [elem];
|
||||
|
||||
if (fttim.is_simple_shape_instance(elem)) {
|
||||
// nothing
|
||||
} else if (fttim.is_complex_shape_instance(elem)) {
|
||||
if (fttim.is_object_shape_instance(elem)) {
|
||||
doc.breakApart();
|
||||
doc.group();
|
||||
}
|
||||
doc.unGroup();
|
||||
try {
|
||||
doc.unlockAllElements();
|
||||
} catch (e) {}
|
||||
var wrapper_item = doc.convertToSymbol("graphic", ft.gen_unique_name(), "top left");
|
||||
new_symbols.push(wrapper_item);
|
||||
} else {
|
||||
doc.arrange("front");
|
||||
}
|
||||
|
||||
new_symbols.push(wrapper_item);
|
||||
});
|
||||
}, fttim.is_keyframe);
|
||||
}, fttim.is_not_guide_layer);
|
||||
|
||||
Reference in New Issue
Block a user