Beispiel #1
0
 public void ToStreamEx(Stream s, PmxElementFormat f = null)
 {
     PmxStreamHelper.WriteString(s, Name, f);
     PmxStreamHelper.WriteString(s, NameE, f);
     PmxStreamHelper.WriteElement_Int32(s, (int)Shape, 1);
     PmxStreamHelper.WriteElement_Int32(s, Material, f.MaterialSize);
     PmxStreamHelper.WriteElement_Int32(s, Group, 1);
     PmxStreamHelper.WriteElement_Int32(s, PassGroup.ToFlagBits(), 2, signed: false);
     PmxStreamHelper.WriteElement_Int32(s, (int)Flags, 1, signed: false);
     PmxStreamHelper.WriteElement_Int32(s, BendingLinkDistance);
     PmxStreamHelper.WriteElement_Int32(s, ClusterCount);
     PmxStreamHelper.WriteElement_Float(s, TotalMass);
     PmxStreamHelper.WriteElement_Float(s, Margin);
     PmxStreamHelper.WriteElement_Int32(s, Config.AeroModel);
     PmxStreamHelper.WriteElement_Float(s, Config.VCF);
     PmxStreamHelper.WriteElement_Float(s, Config.DP);
     PmxStreamHelper.WriteElement_Float(s, Config.DG);
     PmxStreamHelper.WriteElement_Float(s, Config.LF);
     PmxStreamHelper.WriteElement_Float(s, Config.PR);
     PmxStreamHelper.WriteElement_Float(s, Config.VC);
     PmxStreamHelper.WriteElement_Float(s, Config.DF);
     PmxStreamHelper.WriteElement_Float(s, Config.MT);
     PmxStreamHelper.WriteElement_Float(s, Config.CHR);
     PmxStreamHelper.WriteElement_Float(s, Config.KHR);
     PmxStreamHelper.WriteElement_Float(s, Config.SHR);
     PmxStreamHelper.WriteElement_Float(s, Config.AHR);
     PmxStreamHelper.WriteElement_Float(s, Config.SRHR_CL);
     PmxStreamHelper.WriteElement_Float(s, Config.SKHR_CL);
     PmxStreamHelper.WriteElement_Float(s, Config.SSHR_CL);
     PmxStreamHelper.WriteElement_Float(s, Config.SR_SPLT_CL);
     PmxStreamHelper.WriteElement_Float(s, Config.SK_SPLT_CL);
     PmxStreamHelper.WriteElement_Float(s, Config.SS_SPLT_CL);
     PmxStreamHelper.WriteElement_Int32(s, Config.V_IT);
     PmxStreamHelper.WriteElement_Int32(s, Config.P_IT);
     PmxStreamHelper.WriteElement_Int32(s, Config.D_IT);
     PmxStreamHelper.WriteElement_Int32(s, Config.C_IT);
     PmxStreamHelper.WriteElement_Float(s, MaterialConfig.LST);
     PmxStreamHelper.WriteElement_Float(s, MaterialConfig.AST);
     PmxStreamHelper.WriteElement_Float(s, MaterialConfig.VST);
     PmxStreamHelper.WriteElement_Int32(s, BodyAnchorList.Count);
     for (int i = 0; i < BodyAnchorList.Count; i++)
     {
         PmxStreamHelper.WriteElement_Int32(s, BodyAnchorList[i].Body, f.BodySize);
         PmxStreamHelper.WriteElement_Int32(s, BodyAnchorList[i].Vertex, f.VertexSize, signed: false);
         PmxStreamHelper.WriteElement_Int32(s, BodyAnchorList[i].IsNear ? 1 : 0, 1);
     }
     PmxStreamHelper.WriteElement_Int32(s, VertexPinList.Count);
     for (int j = 0; j < VertexPinList.Count; j++)
     {
         PmxStreamHelper.WriteElement_Int32(s, VertexPinList[j].Vertex, f.VertexSize, signed: false);
     }
     if (f.WithID)
     {
         PmxStreamHelper.WriteElement_UInt(s, base.UID);
         PmxStreamHelper.WriteElement_UInt(s, base.CID);
     }
 }
 public void ToStreamEx(Stream s, PmxElementFormat f = null)
 {
     PmxStreamHelper.WriteString(s, Name, f);
     PmxStreamHelper.WriteString(s, NameE, f);
     PmxStreamHelper.WriteElement_Int32(s, Bone, f.BoneSize);
     PmxStreamHelper.WriteElement_Int32(s, Group, 1);
     PmxStreamHelper.WriteElement_Int32(s, PassGroup.ToFlagBits(), 2, signed: false);
     s.WriteByte((byte)BoxType);
     V3_BytesConvert.ToStream(s, BoxSize);
     V3_BytesConvert.ToStream(s, Position);
     V3_BytesConvert.ToStream(s, Rotation);
     PmxStreamHelper.WriteElement_Float(s, Mass);
     V4_BytesConvert.ToStream(s, new Vector4(PositionDamping, RotationDamping, Restitution, Friction));
     s.WriteByte((byte)Mode);
     if (f.WithID)
     {
         PmxStreamHelper.WriteElement_UInt(s, base.UID);
         PmxStreamHelper.WriteElement_UInt(s, base.CID);
     }
 }