internal int ReadIndex(BinaryReader br, PmxIndexKind kind) { switch (kind) { case PmxIndexKind.Vertex: return(this.Header.VertexIndexSize == PmxVertexIndexSize.UInt8 ? br.ReadByte() : this.Header.VertexIndexSize == PmxVertexIndexSize.UInt16 ? br.ReadUInt16() : br.ReadInt32()); case PmxIndexKind.Texture: return(this.Header.TextureIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.TextureIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32()); case PmxIndexKind.Material: return(this.Header.MaterialIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.MaterialIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32()); case PmxIndexKind.Bone: return(this.Header.BoneIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.BoneIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32()); case PmxIndexKind.Morph: return(this.Header.MorphIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.MorphIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32()); case PmxIndexKind.Rigid: return(this.Header.RigidIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.RigidIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32()); default: throw new ArgumentException(); } }
internal void WriteIndex(BinaryWriter bw, PmxIndexKind kind, int index) { switch (kind) { case PmxIndexKind.Vertex: switch (this.Header.VertexIndexSize) { case PmxVertexIndexSize.UInt8: bw.Write((byte)index); break; case PmxVertexIndexSize.UInt16: bw.Write((ushort)index); break; case PmxVertexIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Texture: switch (this.Header.TextureIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Material: switch (this.Header.MaterialIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Bone: switch (this.Header.BoneIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Morph: switch (this.Header.MorphIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Rigid: switch (this.Header.RigidIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; default: throw new ArgumentException(); } }
internal int ReadIndex(BinaryReader br, PmxIndexKind kind) { switch (kind) { case PmxIndexKind.Vertex: return this.Header.VertexIndexSize == PmxVertexIndexSize.UInt8 ? br.ReadByte() : this.Header.VertexIndexSize == PmxVertexIndexSize.UInt16 ? br.ReadUInt16() : br.ReadInt32(); case PmxIndexKind.Texture: return this.Header.TextureIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.TextureIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32(); case PmxIndexKind.Material: return this.Header.MaterialIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.MaterialIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32(); case PmxIndexKind.Bone: return this.Header.BoneIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.BoneIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32(); case PmxIndexKind.Morph: return this.Header.MorphIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.MorphIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32(); case PmxIndexKind.Rigid: return this.Header.RigidIndexSize == PmxIndexSize.Int8 ? br.ReadSByte() : this.Header.RigidIndexSize == PmxIndexSize.Int16 ? br.ReadInt16() : br.ReadInt32(); default: throw new ArgumentException(); } }
internal void WriteIndex(BinaryWriter bw, PmxIndexKind kind, int index) { switch (kind) { case PmxIndexKind.Vertex: switch (this.Header.VertexIndexSize) { case PmxVertexIndexSize.UInt8: bw.Write((byte)index); break; case PmxVertexIndexSize.UInt16: bw.Write((ushort)index); break; case PmxVertexIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Texture: switch (this.Header.TextureIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Material: switch (this.Header.MaterialIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Bone: switch (this.Header.BoneIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Morph: switch (this.Header.MorphIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; case PmxIndexKind.Rigid: switch (this.Header.RigidIndexSize) { case PmxIndexSize.Int8: bw.Write((byte)index); break; case PmxIndexSize.Int16: bw.Write((short)index); break; case PmxIndexSize.Int32: bw.Write(index); break; } break; default: throw new ArgumentException(); } }