public class InfoPopup : Popup
{
	private static InfoPopup me;

	private int wPanel;

	public static Image[] flag;

	public MyVector list = new MyVector();

	private int x;

	private int lim;

	private Airplane ap = new Airplane((sbyte)1, (sbyte)0);

	private int lengthFlag;

	private int nMid;

	private int v;

	public static void loadImage()
	{
		flag = new Image[4];
		for (int i = 0; i < 4; i++)
		{
			flag[i] = CCanvas.loadImage("/gui2/flag" + i + ".png");
		}
	}

	public static InfoPopup gI()
	{
		return (me != null) ? me : (me = new InfoPopup());
	}

	public override void show()
	{
		int num = 0;
		for (int i = 0; i < CCanvas.currentPopup.size(); i++)
		{
			Popup popup = (Popup)CCanvas.currentPopup.elementAt(i);
			if (popup is InfoPopup)
			{
				num = 1;
				break;
			}
		}
		if (num == 0)
		{
			base.show();
		}
	}

	public void setInfo(string info)
	{
		list.addElement(info);
		if (list.size() == 1)
		{
			x = CCanvas.w;
			lim = -mFont.tahoma_7.getWidth(info) - 148;
			lengthFlag = mFont.tahoma_7.getWidth((string)list.elementAt(0)) - 20;
			nMid = lengthFlag / 40;
			Music.play(Music.PROPELLER, 10f);
		}
		if (info.Equals(L.yourTurn()))
		{
			if (CScreen.isUseHighFrameRate())
			{
				v = 3;
			}
			else
			{
				v = 5;
			}
		}
		else
		{
			v = 2;
		}
		ap.speed = v;
	}

	public override void update()
	{
		ap.update();
		x -= v;
		if (x < lim)
		{
			x = CCanvas.w;
			list.removeElementAt(0);
			if (list.size() <= 0)
			{
				CCanvas.currentPopup.removeElement(this);
				return;
			}
			Music.play(Music.PROPELLER, 10f);
			lim = -mFont.tahoma_7.getWidth((string)list.elementAt(0)) - 148;
			lengthFlag = mFont.tahoma_7.getWidth((string)list.elementAt(0)) - 20;
			nMid = lengthFlag / 40;
		}
	}

	public override void paint(mGraphics g)
	{
		g.translate(-g.getTranslateX(), -g.getTranslateY());
		int num = 17;
		if (CCanvas.curScr == CCanvas.gameScr)
		{
			num = 20;
		}
		if (CCanvas.panel.isShow || CCanvas.curScr == CCanvas.prepareScr)
		{
			num = 27;
		}
		string src = (string)list.elementAt(0);
		int num2 = x + 60;
		g.drawImage(flag[0], num2, num, 0, false);
		ap.paint(g, x + 5, num - 6, 0);
		g.setClip(num2 + 40, num, lengthFlag, 30);
		for (int i = 0; i <= nMid; i++)
		{
			num2 += 40;
			g.drawImage(flag[1], num2, num, 0, true);
		}
		g.setClip(0, 0, CCanvas.w, CCanvas.h);
		if (CCanvas.gameTick % 8 < 4)
		{
			g.drawImage(flag[2], x + 100 + lengthFlag, num + 1, 0, false);
		}
		else
		{
			g.drawImage(flag[3], x + 100 + lengthFlag, num, 0, false);
		}
		MyVector myVector = new MyVector();
		int num3 = CCanvas.w - 30;
		myVector = mFont.tahoma_7.splitFontVector(src, num3);
		for (int j = 0; j < myVector.size(); j++)
		{
			string st = (string)myVector.elementAt(j);
			int num4 = x + 88 + num3 * j;
			if (CCanvas.curScr != CCanvas.gameScr)
			{
				mFont.tahoma_7.drawString(g, st, num4, num + 9, 0);
			}
			else
			{
				mFont.tahoma_7.drawString(g, st, num4, num + 9, 0);
			}
		}
	}
}
