2 * pmd parser extensin 2
4 * License : The MIT License
5 * Copyright(c) 2010 MikuToga Partners
8 package jp.sourceforge.mikutoga.parser.pmd;
10 import java.io.IOException;
11 import jp.sourceforge.mikutoga.parser.MmdFormatException;
12 import jp.sourceforge.mikutoga.parser.MmdSource;
15 * PMDモデルファイルのパーサ拡張その2。
18 public class PmdParserExt2 extends PmdParserExt1 {
20 private PmdToonHandler toonHandler = null;
26 public PmdParserExt2(MmdSource source){
32 * トゥーンテクスチャファイルハンドラを登録する。
35 public void setToonHandler(PmdToonHandler handler){
36 this.toonHandler = handler;
42 * @throws IOException {@inheritDoc}
43 * @throws MmdFormatException {@inheritDoc}
46 protected void parseBody()
47 throws IOException, MmdFormatException{
58 * 独自トゥーンテクスチャファイル名のパースと通知。
59 * @throws IOException IOエラー
60 * @throws MmdFormatException フォーマットエラー
62 private void parseToonName() throws IOException, MmdFormatException{
63 if(this.toonHandler == null){
64 skip(PmdLimits.MAXBYTES_TOONFILENAME * PmdLimits.TOON_FIXEDNUM);
68 this.toonHandler.loopStart(PmdToonHandler.TOON_LIST,
69 PmdLimits.TOON_FIXEDNUM );
71 for(int ct = 0; ct < PmdLimits.TOON_FIXEDNUM; ct++){
73 parseZeroTermWin31J(PmdLimits.MAXBYTES_TOONFILENAME);
74 this.toonHandler.pmdToonFileInfo(toonName);
76 this.toonHandler.loopNext(PmdToonHandler.TOON_LIST);
79 this.toonHandler.loopEnd(PmdToonHandler.TOON_LIST);