Ejemplo n.º 1
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (IsReadMode(reader.Version))
            {
                Mode = (ParticleSystemAnimationMode)reader.ReadInt32();
            }
            FrameOverTime.Read(reader);
            if (IsReadStartFrame(reader.Version))
            {
                StartFrame.Read(reader);
            }
            TilesX        = reader.ReadInt32();
            TilesY        = reader.ReadInt32();
            AnimationType = (ParticleSystemAnimationType)reader.ReadInt32();
            RowIndex      = reader.ReadInt32();
            Cycles        = reader.ReadSingle();
            if (IsReadUvChannelMask(reader.Version))
            {
                UvChannelMask = reader.ReadInt32();
            }
            if (IsReadFlipU(reader.Version))
            {
                FlipU = reader.ReadSingle();
                FlipV = reader.ReadSingle();
            }
            RandomRow = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);

            if (IsReadSprites(reader.Version))
            {
                m_sprites = reader.ReadArray <SpriteData>();
            }
        }
Ejemplo n.º 2
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.Add("mode", (int)Mode);
            if (IsReadTimeMode(container.ExportVersion))
            {
                node.Add("timeMode", (int)TimeMode);
                node.Add("fps", FPS);
            }
            node.Add("frameOverTime", FrameOverTime.ExportYAML(container));
            node.Add("startFrame", GetExportStartFrame(container.Version).ExportYAML(container));
            if (IsReadSpeedRange(container.ExportVersion))
            {
                node.Add("speedRange", SpeedRange.ExportYAML(container));
            }
            node.Add("tilesX", TilesX);
            node.Add("tilesY", TilesY);
            node.Add("animationType", (int)AnimationType);
            node.Add("rowIndex", RowIndex);
            node.Add("cycles", Cycles);
            node.Add("uvChannelMask", GetExportUvChannelMask(container.Version));
            node.Add("flipU", FlipU);
            node.Add("flipV", FlipV);
            node.Add("randomRow", RandomRow);
            node.Add("sprites", GetExportSprites(container.Version).ExportYAML(container));
            return(node);
        }
Ejemplo n.º 3
0
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            if (IsReadMode(stream.Version))
            {
                Mode = stream.ReadInt32();
            }
            FrameOverTime.Read(stream);
            if (IsReadStartFrame(stream.Version))
            {
                StartFrame.Read(stream);
            }
            TilesX        = stream.ReadInt32();
            TilesY        = stream.ReadInt32();
            AnimationType = stream.ReadInt32();
            RowIndex      = stream.ReadInt32();
            Cycles        = stream.ReadSingle();
            if (IsReadUvChannelMask(stream.Version))
            {
                UvChannelMask = stream.ReadInt32();
            }
            if (IsReadFlipU(stream.Version))
            {
                FlipU = stream.ReadSingle();
                FlipV = stream.ReadSingle();
            }
            RandomRow = stream.ReadBoolean();
            stream.AlignStream(AlignType.Align4);

            if (IsReadSprites(stream.Version))
            {
                m_sprites = stream.ReadArray <SpriteData>();
            }
        }
Ejemplo n.º 4
0
        public override YAMLNode ExportYAML(IAssetsExporter exporter)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(exporter);

            node.Add("mode", Mode);
            node.Add("frameOverTime", FrameOverTime.ExportYAML(exporter));
            node.Add("startFrame", StartFrame.ExportYAML(exporter));
            node.Add("tilesX", TilesX);
            node.Add("tilesY", TilesY);
            node.Add("animationType", AnimationType);
            node.Add("rowIndex", RowIndex);
            node.Add("cycles", Cycles);
            node.Add("uvChannelMask", UvChannelMask);
            node.Add("flipU", FlipU);
            node.Add("flipV", FlipV);
            node.Add("randomRow", RandomRow);
            node.Add("sprites", IsReadSprites(exporter.Version) ? Sprites.ExportYAML(exporter) : YAMLSequenceNode.Empty);
            return(node);
        }
Ejemplo n.º 5
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add(ModeName, (int)Mode);
            if (IsReadTimeMode(container.ExportVersion))
            {
                node.Add(TimeModeName, (int)TimeMode);
                node.Add(FpsName, FPS);
            }
            node.Add(FrameOverTimeName, FrameOverTime.ExportYAML(container));
            node.Add(StartFrameName, GetExportStartFrame(container.Version).ExportYAML(container));
            if (IsReadSpeedRange(container.ExportVersion))
            {
                node.Add(SpeedRangeName, SpeedRange.ExportYAML(container));
            }
            node.Add(TilesXName, TilesX);
            node.Add(TilesYName, TilesY);
            node.Add(AnimationTypeName, (int)AnimationType);
            node.Add(RowIndexName, RowIndex);
            node.Add(CyclesName, Cycles);
            node.Add(UvChannelMaskName, GetExportUvChannelMask(container.Version));
            node.Add(FlipUName, FlipU);
            node.Add(FlipVName, FlipV);
            if (IsReadRowMode(container.ExportVersion))
            {
                node.Add(RowModeName, (int)RowMode);
            }
            else
            {
                node.Add(RandomRowName, RandomRow);
            }
            node.Add(SpritesName, GetExportSprites(container.Version).ExportYAML(container));
            return(node);
        }
Ejemplo n.º 6
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (IsReadMode(reader.Version))
            {
                Mode = (ParticleSystemAnimationMode)reader.ReadInt32();
            }
            if (IsReadTimeMode(reader.Version))
            {
                TimeMode = (ParticleSystemAnimationTimeMode)reader.ReadInt32();
                FPS      = reader.ReadSingle();
            }
            FrameOverTime.Read(reader);
            if (IsReadStartFrame(reader.Version))
            {
                StartFrame.Read(reader);
            }
            if (IsReadSpeedRange(reader.Version))
            {
                SpeedRange.Read(reader);
            }
            TilesX        = reader.ReadInt32();
            TilesY        = reader.ReadInt32();
            AnimationType = (ParticleSystemAnimationType)reader.ReadInt32();
            RowIndex      = reader.ReadInt32();
            Cycles        = reader.ReadSingle();
            if (IsReadUvChannelMask(reader.Version))
            {
                UvChannelMask = reader.ReadInt32();
            }
            if (IsReadFlipU(reader.Version))
            {
                if (IsReadFlipUFirst(reader.Version))
                {
                    FlipU = reader.ReadSingle();
                    FlipV = reader.ReadSingle();
                }
            }
            if (IsReadRowMode(reader.Version))
            {
                RowMode = (ParticleSystemAnimationRowMode)reader.ReadInt32();
            }
            else
            {
                bool RandomRow = reader.ReadBoolean();
                RowMode = RandomRow ? ParticleSystemAnimationRowMode.Random : ParticleSystemAnimationRowMode.Custom;
                reader.AlignStream(AlignType.Align4);
            }

            if (IsReadSprites(reader.Version))
            {
                m_sprites = reader.ReadAssetArray <SpriteData>();
            }
            if (IsReadFlipU(reader.Version))
            {
                if (!IsReadFlipUFirst(reader.Version))
                {
                    FlipU = reader.ReadSingle();
                    FlipV = reader.ReadSingle();
                }
            }
        }