
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

public abstract class UnitGraphicsEngine {

	static MediaTracker	mediaTracker;
	int	MTID;	//識別番号

	public UnitGraphicsEngine() {}

	public abstract void show(Graphics g, int x, int y, Unit unit, Component view);

	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, Ground ground, Component view);

	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, Structure structure, Component view);



	/** 道を描画するルーチン。 */
	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, Road road, Component view);

	/** 都市を描画するルーチン。 */
	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, NapCity city, Component view);
	/** 首都を描画するルーチン。 */
	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, NapCapital capital, Component view);

	/** 動的ユニットを描画するルーチン。 */
	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, Creature creature, Component view);


	/** 軍隊を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Army army, Component view);


	/** 兵士を描画するルーチン。 */
	public abstract void show(Graphics g, int squareSizeX, int squareSizeY, Soldier soldier, Component view);

	/** 歩兵を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Infantry infantry, Component view);

	/** 弓兵を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Archer archer, Component view);
	/** 矢を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Arrow arrow, Component view);

	/** 騎兵を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Cavalry cavalry, Component view);

	/** 指揮官を描画するルーチン。 */
	public abstract void show(Graphics g, int viewerX, int viewerY, Commander commander, Component view);;

}