当前位置: 首页>>代码示例>>C#>>正文


C# ByteReader.GetInt方法代码示例

本文整理汇总了C#中ByteReader.GetInt方法的典型用法代码示例。如果您正苦于以下问题:C# ByteReader.GetInt方法的具体用法?C# ByteReader.GetInt怎么用?C# ByteReader.GetInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ByteReader的用法示例。


在下文中一共展示了ByteReader.GetInt方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: loadFromPath

        public static Model loadFromPath(string path)
        {
            var io=new ByteReader(File.ReadAllBytes(path));

            var model=new Model();

            model.Magic=io.GetAscii(30);
            model.ModelName=io.GetSJIS(20);

            int boneMotionCount=io.GetInt();
            model.BoneMotions=Enumerable.Range(1, boneMotionCount).Select(_
                    =>GetBoneMotion(io)).ToArray();

            return model;
        }
开发者ID:ousttrue,项目名称:csmeshio,代码行数:15,代码来源:Vmd.cs

示例2: GetBone

 private Bone GetBone(ByteReader io)
 {
     var bone=new Bone();
     bone.Name=GetText(io);
     bone.EnglishName=GetText(io);
     bone.Position=io.GetVector3();
     bone.ParentIndex=GetBoneIndex(io);
     bone.Layer=io.GetInt();
     bone.Flags=(BONEFLAG)io.GetUShort();
     if(bone.HasFlag(BONEFLAG.HAS_TAILBONE)){
         bone.TailBoneIndex=GetBoneIndex(io);
     }
     else{
         bone.TailOffset=io.GetVector3();
     }
     if(bone.HasFlag(BONEFLAG.ROTATION_EFFECTED)
             || bone.HasFlag(BONEFLAG.TRANSLATION_EFFECTED)){
         bone.EffectIndex=GetBoneIndex(io);
         bone.EffectFactor=io.GetFloat();
     }
     if(bone.HasFlag(BONEFLAG.HAS_FIXEDAXIS)){
         bone.FixedAxis=io.GetVector3();
     }
     if(bone.HasFlag(BONEFLAG.HAS_LOCALAXIS)){
         bone.LocalAxisX=io.GetVector3();
         bone.LocalAxisZ=io.GetVector3();
     }
     if(bone.HasFlag(BONEFLAG.DEFORM_EXTERNAL_PARENT)){
         bone.ExternalParentKey=io.GetInt();
     }
     if(bone.HasFlag(BONEFLAG.HAS_IK)){
         var ik=new IKSolver();
         bone.IKSolver=ik;
         ik.TargetIndex=GetBoneIndex(io);
         ik.Iterations=io.GetInt();
         ik.UnitRadian=io.GetFloat();
         int Count=io.GetInt();
         ik.Chains=Enumerable.Range(1, Count).Select(_
                 =>{
                 var link=new IKLink();
                 link.BoneIndex=GetBoneIndex(io);
                 link.IsLimited=io.GetByte()==0 ? false : true;
                 if(link.IsLimited){
                 link.MinEulerRadians=io.GetVector3();
                 link.MaxEulerRadians=io.GetVector3();
                 }
                 return link;
                 }).ToArray();
     }
     return bone;
 }
开发者ID:ousttrue,项目名称:csmeshio,代码行数:51,代码来源:Pmx.cs

示例3: GetMaterial

 private Material GetMaterial(ByteReader io)
 {
     var material=new Material();
     material.Name=GetText(io);
     material.EnglishName=GetText(io);
     material.Diffuse=io.GetVector4();
     material.Specular=io.GetVector3();
     material.SpecularFactor=io.GetFloat();
     material.Ambient=io.GetVector3();
     material.Flag=io.GetByte();
     material.EdgeColor=io.GetVector4();
     material.EdgeSize=io.GetFloat();
     material.TextureIndex=GetTextureIndex(io);
     material.SphereTextureIndex=GetTextureIndex(io);
     material.SphereMode=(SPHERE_MODE)io.GetByte();
     material.UseSharedToon=io.GetByte()==0 ? false : true;
     material.ToonTextureIndex=GetTextureIndex(io);
     material.Memo=GetText(io);
     material.IndexCount=io.GetInt();
     return material;
 }
开发者ID:ousttrue,项目名称:csmeshio,代码行数:21,代码来源:Pmx.cs

示例4: load

        public Model load(ByteReader io)
        {
            var model=new Model();

            // モデル情報
            model.Name=GetText(io);
            model.EnglishName=GetText(io);
            model.Comment=GetText(io);
            model.EnglishComment=GetText(io);

            {
                // 頂点
                int Count=io.GetInt();
                model.Vertices=Enumerable.Range(1, Count).Select(_
                        =>GetVertex(io)).ToArray();
            }

            {
                // 面
                int Count=io.GetInt();
                model.Indices=Enumerable.Range(1, Count).Select(_
                        =>GetVertexIndex(io)).ToArray();
            }

            {
                // テクスチャ
                int Count=io.GetInt();
                model.Textures=Enumerable.Range(1, Count).Select(_
                        =>GetText(io)).ToArray();
            }

            {
                // 材質
                int Count=io.GetInt();
                model.Materials=Enumerable.Range(1, Count).Select(_
                        =>GetMaterial(io)).ToArray();
            }

            {
                // ボーン
                int Count=io.GetInt();
                model.Bones=Enumerable.Range(1, Count).Select(_
                        =>GetBone(io)).ToArray();
            }

            return model;
        }
开发者ID:ousttrue,项目名称:csmeshio,代码行数:47,代码来源:Pmx.cs


注:本文中的ByteReader.GetInt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。