/// <summary> /// アニメーションチップ読み込み /// </summary> /// <param name="lData"></param> /// <returns></returns> private bool ReadAnimationTile(LoadData lData) { AnmSquareTileFrame frame = null; AnmSquareTile tlMChipAnm = new AnmSquareTile(); LoadChank lChank, lChank02; LoadData lData02; Chunk chank = new Chunk(); int anmTileNo; lData.GetChank(chank); anmTileNo = 0; while ((lChank = lData.FindData(tlMChipAnm)) != null || !lData.GetFindEnd()) { if (lChank != null) { // チャンクブロック lChank.GetBlockChank(chank); // IDから処理選択 while ((lData02 = lChank.FindChank(chank)) != null) { if (chank.id == FAnmSquareTileFrame.ID) { //---------------------------- // アニメーションチップフレーム読み込み //---------------------------- frame = new AnmSquareTileFrame(); while ((lChank02 = lData02.FindData(frame)) != null || !lData02.GetFindEnd()) { tlMChipAnm.Add(frame); // これ以上入れ子は今のところない予定なので入れ子は無視 if (lChank02 != null) { lChank02 = null; throw new IOException("存在してはいけない入れ子を発見"); } frame = new AnmSquareTileFrame(); } frame = null; lData02 = null; break; } else { // FFID_MAPCHIP_INFO以外のIDが今現在存在しないで // 怪しい値を見つけたらエラーをはき出すようにする throw new IOException("未対応のIDが呼ばれた。"); } } lChank = null; } m_animationTile.Add(tlMChipAnm); tlMChipAnm = new AnmSquareTile(); ++anmTileNo; } return(true); }
public void ChipAnmAdd(AnmSquareTile rMCA) { m_animationTile.Add(rMCA); }