Exemplo n.º 1
0
        public void Read(BinaryReader r)
        {
            uint size = r.ReadUInt32();

            if (size != 128)
            {
                throw new InvalidDataException("Invalid size of EffectPart BeamStar");
            }

            phase1       = r.ReadUInt32();
            phase2       = r.ReadUInt32();
            complexity   = EnumUtils.intToEnum <BeamStarComplexity>(r.ReadInt32());
            width        = r.ReadSingle();
            scaleSpeedXY = r.ReadSingle();
            r.BaseStream.Seek(1, SeekOrigin.Current);
            texName = r.ReadSizedCString(32);
            r.BaseStream.Seek(3 + 2 * 4, SeekOrigin.Current);
            startTexVEnd   = r.ReadSingle();
            rotationSpeed  = r.ReadSingle();
            texShiftVStart = r.ReadSingle();
            r.BaseStream.Seek(1, SeekOrigin.Current);
            color = IColor.ReadNew(r);
            name  = r.ReadSizedCString(32);
            r.BaseStream.Seek(3, SeekOrigin.Current);
            endTexVEnd = r.ReadSingle();
            mode       = EnumUtils.intToEnum <BeamStarMode>(r.ReadInt32());
            renderMode = EnumUtils.intToEnum <EffectPartRenderMode>(r.ReadInt32());
        }
Exemplo n.º 2
0
 public static int GetPlaneCount(this BeamStarComplexity c) => 1 << (int)c;