Support TexturePacker image atlases

This commit is contained in:
gem
2026-06-09 12:49:01 +08:00
parent e2a584d4dc
commit 38f6e0c0c9
16 changed files with 343 additions and 26 deletions

View File

@@ -8,6 +8,9 @@ class RuntimeNode {
required this.type,
this.parent,
this.asset,
this.frame,
this.pressedFrame,
this.disabledFrame,
this.sourceX,
this.sourceY,
this.sourceWidth,
@@ -78,6 +81,9 @@ class RuntimeNode {
final String type;
final String? parent;
final String? asset;
final String? frame;
final String? pressedFrame;
final String? disabledFrame;
final double? sourceX;
final double? sourceY;
final double? sourceWidth;
@@ -229,8 +235,19 @@ class RuntimeNode {
type: nextType,
parent: _parentProp(props, currentParent: parent, nodeId: id),
asset: _stringProp(props, RuntimeProtocolField.asset) ?? asset,
sourceX: _nonNegativeDoubleProp(props, RuntimeProtocolField.sourceX) ?? sourceX,
sourceY: _nonNegativeDoubleProp(props, RuntimeProtocolField.sourceY) ?? sourceY,
frame: _stringProp(props, RuntimeProtocolField.frame) ?? frame,
pressedFrame:
_stringProp(props, RuntimeProtocolField.pressedFrame) ??
pressedFrame,
disabledFrame:
_stringProp(props, RuntimeProtocolField.disabledFrame) ??
disabledFrame,
sourceX:
_nonNegativeDoubleProp(props, RuntimeProtocolField.sourceX) ??
sourceX,
sourceY:
_nonNegativeDoubleProp(props, RuntimeProtocolField.sourceY) ??
sourceY,
sourceWidth:
_positiveDoubleProp(props, RuntimeProtocolField.sourceWidth) ??
sourceWidth,
@@ -381,13 +398,13 @@ class RuntimeNode {
nodeId: _requiredString(map, RuntimeProtocolField.id),
),
asset: _stringProp(map, RuntimeProtocolField.asset),
frame: _stringProp(map, RuntimeProtocolField.frame),
pressedFrame: _stringProp(map, RuntimeProtocolField.pressedFrame),
disabledFrame: _stringProp(map, RuntimeProtocolField.disabledFrame),
sourceX: _nonNegativeDoubleProp(map, RuntimeProtocolField.sourceX),
sourceY: _nonNegativeDoubleProp(map, RuntimeProtocolField.sourceY),
sourceWidth: _positiveDoubleProp(map, RuntimeProtocolField.sourceWidth),
sourceHeight: _positiveDoubleProp(
map,
RuntimeProtocolField.sourceHeight,
),
sourceHeight: _positiveDoubleProp(map, RuntimeProtocolField.sourceHeight),
sliceLeft: _nonNegativeDoubleProp(map, RuntimeProtocolField.sliceLeft),
sliceTop: _nonNegativeDoubleProp(map, RuntimeProtocolField.sliceTop),
sliceRight: _nonNegativeDoubleProp(map, RuntimeProtocolField.sliceRight),