mirror of
https://github.com/BlackMATov/unity-flash-tools.git
synced 2025-12-16 22:19:31 +07:00
ExportAsset and SymbolClass tags parser
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\DefineShapeTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\DefineSpriteTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\EndTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\ExportAssetsTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\FileAttributesTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\FrameLabelTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\PlaceObject2Tag.cs" />
|
||||
@@ -77,6 +78,7 @@
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\ShowFrameTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\SwfTagBase.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\SwfTagVisitor.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\SymbolClassTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\UnknownTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTags\UnsupportedTag.cs" />
|
||||
<Compile Include="Assets\FlashTools\Scripts\Internal\Editor\SwfTools\SwfTypes\SwfBlendMode.cs" />
|
||||
|
||||
@@ -176,6 +176,14 @@ namespace FlashTools.Internal.SwfTools {
|
||||
return dl;
|
||||
}
|
||||
|
||||
public SwfDisplayList Visit(ExportAssetsTag tag, SwfDisplayList dl) {
|
||||
return dl;
|
||||
}
|
||||
|
||||
public SwfDisplayList Visit(SymbolClassTag tag, SwfDisplayList dl) {
|
||||
return dl;
|
||||
}
|
||||
|
||||
public SwfDisplayList Visit(DefineSceneAndFrameLabelDataTag tag, SwfDisplayList dl) {
|
||||
return dl;
|
||||
}
|
||||
|
||||
@@ -35,15 +35,13 @@ namespace FlashTools.Internal.SwfTools.SwfTags {
|
||||
for ( var i = 0; i < scenes.Capacity; ++i ) {
|
||||
scenes.Add(new SceneOffsetData{
|
||||
Offset = reader.ReadEncodedU32(),
|
||||
Name = reader.ReadString()
|
||||
});
|
||||
Name = reader.ReadString()});
|
||||
}
|
||||
var frames = new List<FrameLabelData>((int)reader.ReadEncodedU32());
|
||||
for ( var i = 0; i < frames.Capacity; ++i ) {
|
||||
frames.Add(new FrameLabelData{
|
||||
Number = reader.ReadEncodedU32(),
|
||||
Label = reader.ReadString()
|
||||
});
|
||||
Label = reader.ReadString()});
|
||||
}
|
||||
return new DefineSceneAndFrameLabelDataTag{
|
||||
Scenes = scenes,
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace FlashTools.Internal.SwfTools.SwfTags {
|
||||
public class ExportAssetsTag : SwfTagBase {
|
||||
public struct AssetTagData {
|
||||
public ushort Tag;
|
||||
public string Name;
|
||||
}
|
||||
|
||||
public List<AssetTagData> AssetTags;
|
||||
|
||||
public override SwfTagType TagType {
|
||||
get { return SwfTagType.ExportAssets; }
|
||||
}
|
||||
|
||||
public override TResult AcceptVistor<TArg, TResult>(SwfTagVisitor<TArg, TResult> visitor, TArg arg) {
|
||||
return visitor.Visit(this, arg);
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return string.Format(
|
||||
"ExportAssetsTag. " +
|
||||
"AssetTags: {0}",
|
||||
AssetTags.Count);
|
||||
}
|
||||
|
||||
public static ExportAssetsTag Create(SwfStreamReader reader) {
|
||||
var asset_tags = new List<AssetTagData>((int)reader.ReadUInt16());
|
||||
for ( var i = 0; i < asset_tags.Capacity; ++i ) {
|
||||
asset_tags.Add(new AssetTagData{
|
||||
Tag = reader.ReadUInt16(),
|
||||
Name = reader.ReadString()});
|
||||
}
|
||||
return new ExportAssetsTag{
|
||||
AssetTags = asset_tags};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91d525c5510d747daa79a206efa73ee8
|
||||
timeCreated: 1472655466
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -19,14 +19,14 @@
|
||||
FrameLabel = 43,
|
||||
//Protect = 24,
|
||||
End = 0,
|
||||
//ExportAssets = 56,
|
||||
ExportAssets = 56,
|
||||
//ImportAssets = 57,
|
||||
//EnableDebugger = 58,
|
||||
//EnableDebugger2 = 64,
|
||||
//ScriptLimits = 65,
|
||||
SetTabIndex = 66, // Unsupported
|
||||
//ImportAssets2 = 71,
|
||||
//SymbolClass = 76,
|
||||
SymbolClass = 76,
|
||||
//Metadata = 77,
|
||||
DefineScalingGrid = 78, // Unsupported
|
||||
DefineSceneAndFrameLabelData = 86,
|
||||
@@ -167,7 +167,9 @@
|
||||
case (int)SwfTagType.SetBackgroundColor: return SetBackgroundColorTag.Create(reader);
|
||||
case (int)SwfTagType.FrameLabel: return FrameLabelTag.Create(reader);
|
||||
case (int)SwfTagType.End: return EndTag.Create(reader);
|
||||
case (int)SwfTagType.ExportAssets: return ExportAssetsTag.Create(reader);
|
||||
case (int)SwfTagType.SetTabIndex: return UnsupportedTag.Create(SwfTagType.SetTabIndex);
|
||||
case (int)SwfTagType.SymbolClass: return SymbolClassTag.Create(reader);
|
||||
case (int)SwfTagType.DefineScalingGrid: return UnsupportedTag.Create(SwfTagType.DefineScalingGrid);
|
||||
case (int)SwfTagType.DefineSceneAndFrameLabelData: return DefineSceneAndFrameLabelDataTag.Create(reader);
|
||||
// Actions
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
TResult Visit(SetBackgroundColorTag tag, TArg arg);
|
||||
TResult Visit(FrameLabelTag tag, TArg arg);
|
||||
TResult Visit(EndTag tag, TArg arg);
|
||||
TResult Visit(ExportAssetsTag tag, TArg arg);
|
||||
TResult Visit(SymbolClassTag tag, TArg arg);
|
||||
TResult Visit(DefineSceneAndFrameLabelDataTag tag, TArg arg);
|
||||
TResult Visit(DefineShapeTag tag, TArg arg);
|
||||
TResult Visit(DefineShape2Tag tag, TArg arg);
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace FlashTools.Internal.SwfTools.SwfTags {
|
||||
public class SymbolClassTag : SwfTagBase {
|
||||
public struct SymbolTagData {
|
||||
public ushort Tag;
|
||||
public string Name;
|
||||
}
|
||||
|
||||
public List<SymbolTagData> SymbolTags;
|
||||
|
||||
public override SwfTagType TagType {
|
||||
get { return SwfTagType.SymbolClass; }
|
||||
}
|
||||
|
||||
public override TResult AcceptVistor<TArg, TResult>(SwfTagVisitor<TArg, TResult> visitor, TArg arg) {
|
||||
return visitor.Visit(this, arg);
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return string.Format(
|
||||
"SymbolClassTag. " +
|
||||
"SymbolTags: {0}",
|
||||
SymbolTags.Count);
|
||||
}
|
||||
|
||||
public static SymbolClassTag Create(SwfStreamReader reader) {
|
||||
var symbol_tags = new List<SymbolTagData>((int)reader.ReadUInt16());
|
||||
for ( var i = 0; i < symbol_tags.Capacity; ++i ) {
|
||||
symbol_tags.Add(new SymbolTagData{
|
||||
Tag = reader.ReadUInt16(),
|
||||
Name = reader.ReadString()});
|
||||
}
|
||||
return new SymbolClassTag{
|
||||
SymbolTags = symbol_tags};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc9919be0498b49659aa77f6da045eb9
|
||||
timeCreated: 1472654295
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user