import java.awt.image.*;
import java.awt.*;

//--------------------------------------------------
// キャライメージクラス
//--------------------------------------------------
public class CharaImage{
	// ピクセルデータ
	// 方向（上下左右）×アニメ３パターンで計12個
	ChipImage[][] chip_image;

	// 方向
	int m_dir_num;

	// アニメパターン
	int m_anime_num;

	// 横幅
	int m_width;

	// 高さ
	int m_height;

	// 透過色
	int AlphaColor;

	// デフォルト
	CharaImage(){
		int i, j;
		m_dir_num = 4;
		m_anime_num = 3;
		m_width = 24;
		m_height = 32;

		chip_image = new ChipImage[ m_dir_num ][ m_anime_num ];

		for( i = 0; i < m_dir_num; i++ ){
			for( j = 0; j < m_anime_num; j++ ){
				chip_image[ i ][ j ] = new ChipImage( m_width, m_height );
			}
		}
	}

	// 指定
	CharaImage( int dir, int anime, int width, int height ){
		int i, j;
		m_dir_num = dir;
		m_anime_num = anime;
		m_width = width;
		m_height = height;

		chip_image = new ChipImage[ m_dir_num ][ m_anime_num ];

		for( i = 0; i < m_dir_num; i++ ){
			for( j = 0; j < m_anime_num; j++ ){
				chip_image[ i ][ j ] = new ChipImage( m_width, m_height );
			}
		}
	}

	// ピクセルセット
	void SetPix( int[] pix, int dir, int anime ){
		chip_image[ dir ][ anime ].SetPix( pix );
	}

	// 指定のイメージ取得
	Image GetImage( int dir, int anime ){
		return chip_image[ dir ][ anime ].GetImage();
	}

	// 指定のチップイメージ取得
	ChipImage GetChipImage( int dir, int anime ){
		return chip_image[ dir ][ anime ];
	}

}
