Beispiel #1
0
 public void Read(CubReader br)
 {
     MinValue     = br.ReadSingle();
     MaxValue     = br.ReadSingle();
     DefaultValue = br.ReadSingle();
     ID           = br.ReadIdString();
 }
Beispiel #2
0
 /// <summary>
 /// Post Read
 /// </summary>
 /// <param name="br"></param>
 protected void ReadOpacity(CubReader br)
 {
     if (br.FormatVersion >= 10)
     {
         PivotOpacities = br.ReadFloatArray();
     }
 }
Beispiel #3
0
 public void Read(CubReader br)
 {
     Clear();
     if (br.ReadObject() is List <object> list)
     {
         AddRange(list.Cast <Pivot>());
     }
 }
Beispiel #4
0
 public sealed override void Read(CubReader br)
 {
     base.Read(br);
     Pivots = br.ReadKnownObject <PivotList>();
     if (br.ReadObject() is List <object> list)
     {
         Affines = new List <Affine>(list.Cast <Affine>());
     }
     base.ReadOpacity(br);
 }
Beispiel #5
0
        public void Read(CubReader br)
        {
            Params = br.ReadKnownObject <ParamList>();
            if (br.ReadObject() is List <object> partDatas)
            {
                Parts = new List <Part>(partDatas.Cast <Part>());
            }

            CanvasWidth  = br.ReadInt32();
            CanvasHeight = br.ReadInt32();
        }
 public sealed override void Read(CubReader br)
 {
     base.Read(br);
     Row    = br.ReadInt32();
     Column = br.ReadInt32();
     Pivots = br.ReadKnownObject <PivotList>();
     if (br.ReadObject() is List <object> list)
     {
         PivotPoints = new List <float[]>(list.Cast <float[]>());
     }
     base.ReadOpacity(br);
 }
Beispiel #7
0
        public void Read(CubReader br)
        {
            ID = br.ReadIdString();
            if (br.ReadObject() is List <object> drawDatas)
            {
                Components = new List <IComponentData>(drawDatas.Cast <IComponentData>());
            }

            if (br.ReadObject() is List <object> deformers)
            {
                Deformers = new List <DeformerData>(deformers.Cast <DeformerData>());
            }
        }
Beispiel #8
0
 public void Read(CubReader br)
 {
     OriginX  = br.ReadSingle();
     OriginY  = br.ReadSingle();
     ScaleX   = br.ReadSingle();
     ScaleY   = br.ReadSingle();
     Rotation = br.ReadSingle();
     if (br.FormatVersion >= 10)
     {
         ReflectX = br.ReadBoolean();
         ReflectY = br.ReadBoolean();
     }
 }
Beispiel #9
0
        public virtual void Read(CubReader br)
        {
            ID               = br.ReadIdString();
            TargetID         = br.ReadIdString();
            Pivots           = br.ReadKnownObject <PivotList>();
            AverageDrawOrder = br.ReadInt32();
            PivotDrawOrder   = br.ReadIntArray();
            PivotOpacity     = br.ReadFloatArray();
            if (br.FormatVersion >= 11)
            {
                var drawDataId = br.ReadIdString();
                if (string.IsNullOrEmpty(drawDataId))
                {
                    ClipIDs = null;
                }
                else
                {
                    if (drawDataId.Contains(","))
                    {
                        ClipIDs = new List <string>(drawDataId.Split(new[] { "," },
                                                                     StringSplitOptions.RemoveEmptyEntries));
                    }
                    else
                    {
                        ClipIDs = new List <string> {
                            drawDataId
                        };
                    }
                }
            }
            else
            {
                ClipIDs = null;
            }

            var minPivot = PivotDrawOrder.Min();

            if (minPivot < TotalMinOrder)
            {
                TotalMinOrder = minPivot;
            }

            var maxPivot = PivotDrawOrder.Max();

            if (maxPivot > TotalMaxOrder)
            {
                TotalMaxOrder = maxPivot;
            }
        }
Beispiel #10
0
        public void Read(CubReader br)
        {
            var state = br.Read8Bit();

            Locked  = state[0] == '1';
            Visible = state[1] == '1';
            ID      = br.ReadIdString();

            List <object> list = br.ReadObject() as List <object>;

            Deformers = list == null ? new List <DeformerData>() : new List <DeformerData>(list.Cast <DeformerData>());

            list       = br.ReadObject() as List <object>;
            Components = list == null ? new List <IComponentData>() : new List <IComponentData>(list.Cast <IComponentData>());
        }
Beispiel #11
0
        public sealed override void Read(CubReader br)
        {
            base.Read(br);
            TextureNo    = br.ReadInt32();
            PointCount   = br.ReadInt32();
            PolygonCount = br.ReadInt32();
            int[] array = (int[])br.ReadObject();
            IndexArray = new ushort[PolygonCount * 3];
            for (int i = PolygonCount * 3 - 1; i >= 0; i--)
            {
                IndexArray[i] = (ushort)array[i];
            }

            if (br.ReadObject() is List <object> list)
            {
                PivotPoints = new List <float[]>(list.Cast <float[]>());
            }

            UvMap = (float[])br.ReadObject();

            if (br.FormatVersion >= 8)
            {
                OptionFlag = br.ReadInt32();
                if (OptionFlag != 0)
                {
                    if ((OptionFlag & 1) != 0)
                    {
                        int num = br.ReadInt32();
                        ColorGroupNo = num;
                        OptionData.Add(L2Consts.BK_OPTION_COLOR, num);
                    }

                    ColorCompositionType = (OptionFlag & 30) != 0 ? (OptionFlag & 30) >> 1 : 0;

                    if ((OptionFlag & 32) != 0)
                    {
                        Culling = false;
                    }
                }
            }
            else
            {
                OptionFlag = 0;
            }
        }
Beispiel #12
0
        public static ModelData LoadFromStream(Stream input)
        {
            var sigBytes = new byte[3];

            input.Read(sigBytes, 0, 3);
            if (Encoding.ASCII.GetString(sigBytes) != "moc")
            {
                throw new BadImageFormatException("Not a valid MOC file.");
            }

            CubReader br      = new CubReader(input);
            int       version = br.ReadByte();

            if (version > CubReader.SupportVersion)
            {
                Debug.WriteLine($"Target version {version} is unsupported.");
            }

            br.FormatVersion = version;
            return(br.ReadKnownObject <ModelData>());
        }
Beispiel #13
0
 internal ModelData(CubReader br)
 {
     Read(br);
 }
Beispiel #14
0
 public virtual void Read(CubReader br)
 {
     ID       = br.ReadIdString();
     TargetID = br.ReadIdString();
 }
 internal CurvedSurfaceDeformer(CubReader br)
 {
     Read(br);
 }
Beispiel #16
0
 internal Affine(CubReader br)
 {
     Read(br);
 }
Beispiel #17
0
 internal Param(CubReader br)
 {
     Read(br);
 }
Beispiel #18
0
 internal AvatarPart(CubReader br)
 {
     Read(br);
 }
Beispiel #19
0
 internal PivotList(CubReader br)
 {
     Read(br);
 }
Beispiel #20
0
 internal RotationDeformer(CubReader br)
 {
     Read(br);
 }
Beispiel #21
0
 internal Mesh(CubReader br)
 {
     Read(br);
 }
Beispiel #22
0
 internal ParamList(CubReader br)
 {
     Read(br);
 }