using System;
using Assets.src.screen;

public class MenuScr : CScreen, IActionListener
{
	public const sbyte MENU_CHOINHANH = 6;

	public const sbyte MENU_XEPHANG = 2;

	public const sbyte MENU_CHIENDAU = 0;

	public const sbyte MENU_RPG = 1;

	public const sbyte MENU_LEVEL = 2;

	public const sbyte MENU_TRANGBI = 3;

	public const sbyte MENU_KHAMNAM = 4;

	public const sbyte MENU_LUYENTAP = 5;

	public const sbyte MENU_DENKHUVUC = 0;

	public const sbyte MENU_1VS1 = 1;

	public const sbyte MENU_2VS2 = 2;

	public const sbyte MENU_3VS3 = 3;

	public const sbyte MENU_4VS4 = 4;

	public const sbyte MENU_DAUTRUM = 5;

	public const sbyte MENU_BANBE = 0;

	public const sbyte MENU_TINNHAN = 1;

	public const sbyte MENU_BANXEPHANG = 2;

	public const sbyte MENU_BANGHOI = 3;

	public const sbyte MENU_ACHIEVEMENT = 4;

	public const sbyte MENU_CUAHANG_ITEM = 0;

	public const sbyte MENU_RUONG_DO = 1;

	public const sbyte MENU_CUAHANG_BIETDOI = 2;

	public const sbyte MENU_NAP_VANG = 2;

	public const sbyte MENU_NAP_NGOC = 3;

	public const sbyte MENU_QUAYSO = 4;

	public const sbyte MENU_DIENDAN = 0;

	public const sbyte MENU_CAUHINH = 1;

	public const sbyte MENU_NHANNGOC = 2;

	public const sbyte MENU_SOUND = 1;

	public const sbyte MENU_HINHANH = 0;

	public const sbyte MENU_GAMEKHAC = 1;

	public const sbyte MENU_ABOUT = 2;

	public const sbyte TOPCAOTHU = 0;

	public const sbyte TOP_DAIGIAXU = 1;

	public const sbyte TOP_DAIGIALUONG = 2;

	public const sbyte TOP_CAOTHUTUAN = 3;

	public const sbyte TOP_XUTUAN = 4;

	public int select;

	private int nselect = 12;

	public static sbyte MENU_BATDAU;

	public static sbyte MENU_CUAHANG;

	public static sbyte MENU_THONGTIN;

	public static sbyte MENU_SUKIEN;

	public static sbyte MENU_CHUCNANG;

	public static sbyte MENU_QUANGCAO;

	public static sbyte MENU_TAIKHOAN;

	public static sbyte MENU_DANGKI;

	public static string suKienStr = "SỰ KIỆN";

	public static string linkWapStr = "wap.teamobi.com";

	public static string linkTeam;

	public MenuPopUp menuPopUp = new MenuPopUp();

	private int yB;

	private int hB;

	private int hBMax;

	public static Image imgStone;

	public static Image kd;

	public static Image kda;

	public static Image avenger;

	public static Image imgPow;

	public static string[][] subMenuString = new string[9][];

	public int curMenuLevel;

	public static int curMenuSelect;

	public static int curSubMenuSelect;

	public static bool viewInfo;

	public static string[] menuString = new string[1] { string.Empty };

	public static string gameContent;

	public static string gameLink;

	public static MyVector menuCroll = new MyVector("menuScroll");

	public static int[] menuX;

	private Command cmdExit;

	private Command cmdExitGame;

	private int dis;

	private int yMenu;

	private int nItemShow;

	private Position transText1 = new Position(0, 1);

	public static MenuScr instance;

	private int dyUp;

	private int dyDown = 20;

	private bool levelUp;

	private int time;

	public static int dem2 = 0;

	private int dem;

	public static bool isTraining = false;

	private static int sound;

	public static bool IS_TEST_POS = false;

	public int cmtoY;

	public int cmy;

	public int cmdy;

	public int cmvy;

	public int cmyLim;

	public int xL;

	private int hMenu;

	private int X;

	private int Y;

	private int W;

	private int H;

	private int pa;

	private bool trans;

	private string[] text = new string[3];

	private string[] name = new string[3]
	{
		L.oldPass(),
		L.newPass(),
		L.retypeNewPass()
	};

	public MenuScr()
	{
		CScreen.w = CCanvas.w;
		CScreen.h = CCanvas.h;
		curMenuLevel = 0;
		curMenuSelect = 0;
		curSubMenuSelect = 0;
		activeCroll(curMenuLevel, curMenuSelect);
		createIAction();
		menuScroll = true;
		if (CCanvas.isTouch)
		{
			dis = 32;
		}
		else
		{
			dis = 20;
		}
		if (mSystem.clientType == mSystem.IP_JB || mSystem.clientType == mSystem.IP_APPSTORE)
		{
			subMenuString[MENU_CHUCNANG] = new string[1] { "Diễn đàn" };
		}
		else
		{
			subMenuString[MENU_CHUCNANG] = new string[2]
			{
				"Diễn đàn",
				L.option()
			};
		}
	}

	public new static void loadImage()
	{
		imgStone = CCanvas.loadImage("/gui2/stone.png");
	}

	public static void load()
	{
		if (kd == null)
		{
			kd = CCanvas.loadImage("/kd.png");
		}
		if (kda == null)
		{
			kda = CCanvas.loadImage("/kda.png");
		}
		if (avenger == null)
		{
			avenger = CCanvas.loadImage("/gui2/avenger.png");
		}
		if (imgPow == null)
		{
			imgPow = CCanvas.loadImage("/item/2.png");
		}
	}

	public void unload()
	{
		kd = null;
		kda = null;
		avenger = null;
	}

	public static void getIdMenu(int type)
	{
		if (type == 0)
		{
			MENU_BATDAU = 0;
			MENU_CUAHANG = 1;
			MENU_THONGTIN = 2;
			MENU_CHUCNANG = 3;
			MENU_TAIKHOAN = 4;
			MENU_DANGKI = 5;
			menuString = new string[5]
			{
				L.startGame(),
				L.CUAHANG(),
				L.information(),
				L.function(),
				L.account()
			};
			CRes.outz("menuString !=null");
		}
		if (type == 1)
		{
			MENU_BATDAU = 0;
			MENU_CUAHANG = 1;
			MENU_THONGTIN = 2;
			MENU_CHUCNANG = 3;
			MENU_TAIKHOAN = 4;
			MENU_DANGKI = 5;
			menuString = new string[5]
			{
				L.startGame(),
				L.CUAHANG(),
				L.information(),
				L.function(),
				L.account()
			};
		}
		subMenuString[MENU_BATDAU] = new string[6]
		{
			"Chiến đấu",
			"Căn cứ",
			L.NANGCAP(),
			L.INVENTORY(),
			"Ghép ngọc",
			L.training()
		};
		subMenuString[MENU_THONGTIN] = new string[5]
		{
			L.FRIEND(),
			L.MESS(),
			L.topScore(),
			"Biệt đội",
			"Thành tích"
		};
		subMenuString[MENU_CHUCNANG] = new string[2]
		{
			"Diễn đàn",
			L.option()
		};
		subMenuString[MENU_CUAHANG] = new string[2]
		{
			L.shop(),
			L.trangbi()
		};
		subMenuString[6] = new string[5]
		{
			L.emptyRoom(),
			"1 VS 1",
			"2 VS 2",
			"3 VS 3",
			"4 VS 4"
		};
		mSystem.disableSound = Rms.loadRMSInt("dissound") == 1;
		subMenuString[8] = new string[2]
		{
			"Đồ họa: " + L.quality()[BackgroundNew.lowGraphic ? 1 : 0],
			((!mSystem.disableSound) ? "Tắt" : "Bật") + " âm thanh"
		};
	}

	public void goToGame()
	{
		try
		{
			MyMidlet.instance.platformRequest("http://dd.mobiarmy3.com/");
		}
		catch (Exception)
		{
		}
	}

	public Position transTextLimit(Position pos, int limit)
	{
		pos.x += pos.y;
		if (pos.y == -1 && Math.abs(pos.x) > limit)
		{
			pos.y *= -1;
		}
		if (pos.y == 1 && pos.x > 5)
		{
			pos.y *= -1;
		}
		return pos;
	}

	public void getRectHeight()
	{
		yMenu = 0;
		yB = yMenu - 25;
		nItemShow = (CCanvas.hh - 20) / dis;
		if (CCanvas.isTouch)
		{
			nItemShow = (CCanvas.h - yMenu - CScreen.cmdH - 10) / dis;
		}
		if (nItemShow >= menuX.Length)
		{
			nItemShow = menuX.Length;
		}
		int num = nItemShow * dis + 35;
		hBMax = num;
		if (hBMax > (CCanvas.isTouch ? (CCanvas.h - CScreen.cmdH + 15 - yMenu) : 154))
		{
			hBMax = (CCanvas.isTouch ? (CCanvas.h - CScreen.cmdH + 15 - yMenu) : 154);
		}
	}

	public static MenuScr gI()
	{
		if (instance == null)
		{
			instance = new MenuScr();
		}
		return instance;
	}

	public override void show()
	{
		for (int i = 0; i < PM.p2.Length; i++)
		{
			if (PM.p2[i] != null)
			{
				PM.p2[i] = null;
			}
		}
		Music.playContinue(Music.BATTLE);
		Camera.y = 0;
		Camera.x = 0;
		curMenuLevel = 0;
		curMenuSelect = 0;
		curSubMenuSelect = 0;
		Panel.unload();
		load();
		LoginScr.instance = null;
		if (LoginScr.gI() != null)
		{
			if (LoginScr.gI().tU.editText != null)
			{
				LoginScr.gI().tU.editText.end();
			}
			if (LoginScr.gI().tP.editText != null)
			{
				LoginScr.gI().tP.editText.end();
			}
		}
		GameScr.chatList.removeAllElements();
		CPlayer.myPlayer.look = 2;
		LoginScr.isLoadData = true;
		isTraining = false;
		PM.clearPlayer();
		WaitingScr.gI().show();
		GameService.gI().joinRPG();
	}

	public void activeCroll(int level, int select)
	{
		switch (level)
		{
		case 0:
			menuX = new int[menuString.Length];
			break;
		case 1:
			menuX = new int[subMenuString[select].Length];
			break;
		case 2:
			if (curMenuSelect == MENU_BATDAU)
			{
				menuX = new int[subMenuString[6].Length];
			}
			else if (curMenuSelect == MENU_CHUCNANG)
			{
				menuX = new int[subMenuString[8].Length];
			}
			else
			{
				menuX = new int[subMenuString[select].Length];
			}
			break;
		}
		curMenuLevel = level;
		for (int i = 0; i < menuX.Length; i++)
		{
			menuX[i] = CCanvas.w >> 1;
		}
		switch (level)
		{
		case 0:
			this.select = select;
			activeCMTOY(select, menuX.Length);
			if (!CCanvas.isTouch)
			{
				right = cmdExitGame;
			}
			break;
		case 1:
			curMenuSelect = select;
			this.select = 0;
			menuPopUp.select[curMenuLevel] = 0;
			activeCMTOY(0, menuX.Length + 2);
			if (!CCanvas.isTouch)
			{
				right = cmdExit;
			}
			break;
		}
		int num = (CCanvas.isTouch ? 5 : 0);
		cmyLim = yMenu + menuX.Length * dis - (CCanvas.h - CScreen.cmdH - 30 - num);
		if (curMenuLevel == 1)
		{
			menuPopUp.addPopUp(curMenuLevel, subMenuString[curMenuSelect]);
		}
		if (curMenuLevel == 0)
		{
			menuPopUp.addPopUp(curMenuLevel, menuString);
		}
		if (curMenuLevel == 2)
		{
			if (curMenuSelect == MENU_BATDAU)
			{
				menuPopUp.addPopUp(curMenuLevel, subMenuString[6]);
			}
			else if (curMenuSelect == MENU_CHUCNANG)
			{
				menuPopUp.addPopUp(curMenuLevel, subMenuString[8]);
				bool flag = Rms.loadRMSInt("graphic") == 1;
				CRes.outz("last  grap= " + flag + "+++++++++++++++++++++++++++++++++++++++++++++++++++++");
				getRectHeight();
				menuPopUp.info[2][0] = "Đồ họa: " + ((!flag) ? "Cao" : "Thấp");
				mSystem.disableSound = Rms.loadRMSInt("dissound") == 1;
				menuPopUp.info[2][1] = ((!mSystem.disableSound) ? "Tắt" : "Bật") + " âm thanh";
			}
		}
	}

	public void createIAction()
	{
		cmdExit = new Command(L.back(), this, 1000, null);
		cmdExitGame = new Command(L.exit(), this, 1001, null);
		if (!CCanvas.isTouch)
		{
			left = new Command(L.select(), this, 1002, null);
			center = new Command(string.Empty, this, 1002, null);
			right = cmdExitGame;
		}
	}

	protected void doExit()
	{
		CCanvas.msgdlg.setInfo(L.wantExit(), new Command(L.yes(), this, 1003, null), new Command(string.Empty, this, 1003, null), new Command(L.no(), this, 1004, null));
		CCanvas.msgdlg.show();
	}

	public override void update()
	{
		Camera.x++;
		moveCamera();
		updateMenuBG();
		CPlayer.myPlayer.action();
		menuPopUp.update();
		base.update();
	}

	public void doEquip()
	{
		if (CCanvas.w > 2 * Panel.WIDTH_PANEL)
		{
			CCanvas.panel.setTypeInventory();
			CCanvas.panel.show();
			CCanvas.panel2 = new Panel();
			CCanvas.panel2.setTypeMyEquip();
			CCanvas.panel2.show();
		}
		else
		{
			CCanvas.panel.setTypeInventoryWithMyEquip();
			CCanvas.panel.show();
		}
	}

	public void doKhamnam()
	{
		if (CCanvas.w > 2 * Panel.WIDTH_PANEL)
		{
			CCanvas.panel.setTypeKhamNam();
			CCanvas.panel.show();
			CCanvas.panel2 = new Panel();
			CCanvas.panel2.setTypeMyEquip();
			CCanvas.panel2.show();
		}
		else
		{
			CCanvas.panel.setTypeKhamNamWithMyEquip();
			CCanvas.panel.show();
		}
	}

	public void doTopClan()
	{
		CCanvas.startOKDlg(L.pleaseWait());
		GameService.gI().topClan();
	}

	private void doGoToTeam(string link)
	{
		try
		{
			MyMidlet.instance.platformRequest(link);
			MyMidlet.instance.notifyDestroyed();
		}
		catch (Exception)
		{
		}
	}

	public void playGame()
	{
		if (MyMidlet.myInfo.currLv < 2)
		{
			CRes.outz("CLEAR MAP");
			MM.maps.removeAllElements();
			MM.mapImages.removeAllElements();
			doPlayNow(1);
		}
		else
		{
			activeCroll(2, select);
		}
		PrepareScr.exitFromPrepareScr = false;
	}

	public void getMenuLevel()
	{
		CRes.outz("currMenu= " + curMenuLevel + "select= " + select);
		if (curMenuLevel == 0)
		{
			if (select == MENU_BATDAU)
			{
				activeCroll(1, select);
			}
			else if (select == MENU_CUAHANG)
			{
				activeCroll(1, select);
			}
			else if (select == MENU_THONGTIN)
			{
				activeCroll(1, select);
			}
			else if (select == MENU_CHUCNANG)
			{
				activeCroll(1, select);
			}
			else if (select == MENU_TAIKHOAN)
			{
				LoginScr.gI().backToRegister();
			}
			else if (select == MENU_DANGKI)
			{
				Session_ME.gI().close();
				LoginScr.gI().actRegister();
				LoginScr.gI().show();
			}
		}
		else if (curMenuLevel == 1)
		{
			if (curMenuSelect == MENU_BATDAU)
			{
				switch (select)
				{
				case 0:
					playGame();
					break;
				case 1:
					if (LoginScr.isLoadDataOk)
					{
						GameService.gI().joinRPG();
					}
					else
					{
						CCanvas.startOKDlg("Chưa tải dữ liệu xong!");
					}
					break;
				case 2:
					viewInfo = true;
					GameService.gI().charactorUpgrade();
					InfoDlg.showWait();
					break;
				case 3:
					doEquip();
					break;
				case 4:
					doKhamnam();
					break;
				case 5:
					PrepareScr.exitFromPrepareScr = false;
					isTraining = true;
					GameScr.trainingMode = true;
					GameService.gI().training();
					GameScr.chatList.removeAllElements();
					CCanvas.startWaitDlg(L.pleaseWait());
					break;
				}
			}
			else if (curMenuSelect == MENU_CUAHANG)
			{
				switch (select)
				{
				case 0:
					InfoDlg.showWait();
					GameService.gI().getShopItem();
					break;
				case 1:
					InfoDlg.showWait();
					GameService.gI().getShopEquip();
					break;
				case 2:
					if (subMenuString[MENU_CUAHANG].Length == 4)
					{
						doChargeMoney(0);
					}
					break;
				case 3:
					if (subMenuString[MENU_CUAHANG].Length == 4)
					{
						doChargeMoney(1);
					}
					break;
				}
			}
			else if (curMenuSelect == MENU_THONGTIN)
			{
				switch (select)
				{
				case 3:
					CCanvas.panel.setTypeClan();
					CCanvas.panel.show();
					break;
				case 0:
					doShowFriend();
					break;
				case 1:
					CCanvas.panel.setTypeMail();
					CCanvas.panel.show();
					break;
				case 2:
					GameService.gI().top(-1);
					InfoDlg.showWait();
					break;
				case 4:
					GameService.gI().viewAchievement();
					InfoDlg.showWait();
					break;
				}
			}
			else if (curMenuSelect == MENU_CHUCNANG)
			{
				if (subMenuString[MENU_CHUCNANG].Length == 1 && select > 0)
				{
					return;
				}
				switch (select)
				{
				case 0:
					goToGame();
					break;
				case 1:
					activeCroll(2, select);
					break;
				case 2:
					if (mSystem.loadAdOk)
					{
						CCanvas.startOKDlg(mSystem.strAdmob, new Command(L.ok(), this, 999, null));
						mSystem.showQuangCao(true);
					}
					else
					{
						CCanvas.startOKDlg("Vui lòng thử lại sau 5 giây");
					}
					break;
				}
			}
		}
		else if (curMenuLevel == 2)
		{
			if (curMenuSelect == MENU_BATDAU)
			{
				PM.clearPlayer();
				if (select == 0)
				{
					MM.mapImages.removeAllElements();
					GameService.gI().requestEmptyRoom(0, -1, null);
					InfoDlg.showWait();
				}
				else
				{
					MM.mapImages.removeAllElements();
					doPlayNow((sbyte)select);
				}
				GameScr.trainingMode = false;
			}
			else if (curMenuSelect == MENU_CHUCNANG)
			{
				switch (select)
				{
				case 0:
				{
					bool flag = Rms.loadRMSInt("graphic") == 1;
					flag = !flag;
					menuPopUp.info[2][0] = "Đồ họa: " + ((!flag) ? "Cao" : "Thấp");
					if (flag)
					{
						CRes.saveRMSInt("effect", 1);
					}
					CRes.saveRMSInt("graphic", flag ? 1 : 0);
					CCanvas.startOKDlg("Vui lòng khởi động lại game để thay đổi cấu hình", new Command(L.ok(), this, 9999, null));
					break;
				}
				case 1:
					mSystem.disableSound = !mSystem.disableSound;
					menuPopUp.info[2][1] = ((!mSystem.disableSound) ? "Tắt" : "Bật") + " âm thanh";
					CRes.saveRMSInt("dissound", mSystem.disableSound ? 1 : 0);
					if (mSystem.disableSound)
					{
						Music.stopAll();
					}
					break;
				}
			}
		}
		else if (curMenuLevel == 3)
		{
			if (curMenuSelect == 0)
			{
				doPlayNow((sbyte)(select - 1));
			}
			GameScr.trainingMode = false;
		}
		getRectHeight();
	}

	private void changeCauhinh()
	{
		menuPopUp.changePopup(2, new string[1] { "Ảnh: " + L.quality()[BackgroundNew.lowGraphic ? 1 : 0] });
	}

	protected void doFire()
	{
		CRes.outz("do fire");
		getMenuLevel();
	}

	private void doShowLeaderBoard(sbyte type)
	{
		CCanvas.startWaitDlg(L.pleaseWait());
		GameService.gI().requestStrongest(0);
	}

	private void doGoToWap(string link)
	{
		try
		{
			MyMidlet.instance.platformRequest(link);
			MyMidlet.instance.notifyDestroyed();
		}
		catch (Exception)
		{
		}
	}

	public void doChargeMoney(sbyte type)
	{
		CCanvas.doNapThe(type);
	}

	public void doRequestRoomList()
	{
		GameService.gI().requestRoomList();
		CCanvas.startWaitDlg(L.pleaseWait());
	}

	public void doPlayNow(sbyte select)
	{
		if (select == 5)
		{
			PrepareScr.isBossRoom = true;
		}
		else
		{
			PrepareScr.isBossRoom = false;
		}
		GameService.gI().joinAnyBoard(select);
		WaitingScr.gI().show();
	}

	public void doShowFriend()
	{
		GameService.gI().friend(0, -1);
		InfoDlg.showWait();
	}

	private void doViewMessage()
	{
	}

	public void doChangePass()
	{
		CCanvas.inputDlg = new InputDlg();
		CCanvas.inputDlg.setInfo(name[0], new Command(string.Empty, this, 1007, null), new Command(L.close(), this, 1012, null), TField.INPUT_TYPE_PASSWORD);
		CCanvas.inputDlg.show();
		CCanvas.inputDlg.tfInput.doChangeToTextBox(true);
	}

	public new void moveCamera()
	{
		if (cmy != cmtoY)
		{
			cmvy = cmtoY - cmy << 2;
			cmdy += cmvy;
			cmy += cmdy >> 4;
			cmdy &= 15;
		}
	}

	public static void paintLevelPercen(mGraphics g, int x, int y)
	{
		CPlayer myInfo = MyMidlet.myInfo;
		int perCent = myInfo.perCent;
		GameScr.paintOngMau(GameScr.frBack0, GameScr.frBack1, GameScr.frBack2, x, y, 50, g);
		g.setClip(x, y, perCent >> 1, 7);
		GameScr.paintOngMau(GameScr.frBarPow20, GameScr.frBarPow21, GameScr.frBarPow22, x, y, g);
		CCanvas.resetTrans(g);
	}

	public static void paintLevelPercen2(mGraphics g, int x, int y)
	{
		CPlayer myInfo = MyMidlet.myInfo;
		int num = myInfo.avenger;
		GameScr.paintOngMau(GameScr.frBack0, GameScr.frBack1, GameScr.frBack2, x, y, 50, g);
		g.setClip(x, y, num >> 1, 7);
		GameScr.paintOngMau(GameScr.frBarPow0, GameScr.frBarPow1, GameScr.frBarPow2, x, y, g);
		CCanvas.resetTrans(g);
	}

	public static void updateMenuBG()
	{
		GameScr.sm.update();
	}

	public static void paintMenuBG(mGraphics g)
	{
		BackgroundNew.paintBGGameScr(g);
		g.translate(-g.getTranslateX(), -g.getTranslateY());
		if (!CCanvas.panel.isShow && CCanvas.h > 220)
		{
			CCanvas.paintInfoPopup(g);
		}
	}

	public void paintInfo(mGraphics g)
	{
		int num = CCanvas.w - 90;
		if (CCanvas.w < 200)
		{
			num = CCanvas.w - 82;
		}
		CPlayer myInfo = MyMidlet.myInfo;
		int num2 = menuPopUp.y[0] - 63;
		CScreen.paintBorderRect(g, num, num2 + 20, 80, 149);
		mFont.tahoma_7b_white.drawString(g, MyMidlet.myInfo.name, num + 40, num2 + 26, 2);
		mFont.tahoma_7_white.drawString(g, myInfo.stringLevel, num + 50, num2 + 40, 2);
		SmallImage.drawSmallImage(g, myInfo.imgLevel, num + 5, num2 + 45, 0, 0, false);
		paintLevelPercen(g, num + 25, num2 + 55);
		g.drawImage(avenger, num + 4, num2 + 61, 0, false);
		paintLevelPercen2(g, num + 25, num2 + 68);
		mFont tahoma_7_yellow = mFont.tahoma_7_yellow;
		mFont tahoma_7_grey = mFont.tahoma_7_grey;
		int num3 = num2 + 81;
		g.drawRegion(imgPow, 0, 0, 16, 16, 0, num + 6, num3, 0, false);
		tahoma_7_yellow.drawString(g, myInfo.power + string.Empty, num + 27, num3 + 2, 0, tahoma_7_grey);
		num3 += 17;
		g.drawImage(kda, num + 6, num3, 0, false);
		tahoma_7_yellow.drawString(g, myInfo.KDA + string.Empty, num + 27, num3 + 2, 0, tahoma_7_grey);
		num3 += 17;
		g.drawImage(Panel.coin, num + 6, num3, 0, false);
		tahoma_7_yellow.drawString(g, MyMidlet.myInfo.strXu, num + 27, num3 + 2, 0, tahoma_7_grey);
		num3 += 17;
		g.drawImage(Panel.gold, num + 6, num3, 0, false);
		tahoma_7_yellow.drawString(g, MyMidlet.myInfo.strLuong, num + 27, num3 + 2, 0, tahoma_7_grey);
		num3 += 17;
		g.drawImage(Panel.bua0, num + 6, num3, 0, false);
		tahoma_7_yellow.drawString(g, CPlayer.busyHammer + "/" + CPlayer.nHammer, num + 27, num3 + 2, 0, tahoma_7_grey);
		if (CCanvas.h > 220 || CCanvas.w <= 220)
		{
			CPlayer.myPlayer.x = num + 40;
			CPlayer.myPlayer.y = num2 + 180;
		}
		else
		{
			CPlayer.myPlayer.x = CCanvas.hw + 8;
			CPlayer.myPlayer.y = CCanvas.hh + 10;
		}
		if (!CPlayer.myPlayer.isFlyAvenger())
		{
			g.drawImage(imgStone, CPlayer.myPlayer.x, CPlayer.myPlayer.y + 29, mGraphics.TOP | mGraphics.HCENTER, false);
		}
		CPlayer.myPlayer.paintPlayer3(g, CPlayer.myPlayer.x, CPlayer.myPlayer.y + 29);
		CPlayer.myPlayer.paintClanIcon(g, CPlayer.myPlayer.x + 24, CPlayer.myPlayer.y + 3);
	}

	public override void paint(mGraphics g)
	{
		paintMenuBG(g);
		if (CCanvas.currentDialog == null)
		{
			paintInfo(g);
			base.paint(g);
			int num = 3;
			if (CCanvas.panel.nMail > 0 && !CCanvas.panel.isShow)
			{
				g.drawImage(PrepareScr.iconChat, CCanvas.w - 5, 5, mGraphics.TOP | mGraphics.RIGHT, false);
				mFont.tahoma_7b_white.drawString(g, CCanvas.panel.nMail + string.Empty, CCanvas.w - 28, 7, 1, mFont.tahoma_7b_dark);
			}
			if (!CCanvas.panel.isShow)
			{
				menuPopUp.paint(g);
			}
			if (CCanvas.h <= 220)
			{
				CCanvas.paintInfoPopup(g);
			}
		}
	}

	public override void input()
	{
		if (CCanvas.panel.isShow)
		{
			CScreen.clearKey();
			return;
		}
		base.input();
		bool flag = false;
		if (CCanvas.keyPressed[2])
		{
			CCanvas.keyPressed[2] = false;
			flag = true;
			select = ((select - 1 >= 0) ? (select - 1) : (menuX.Length - 1));
			menuPopUp.select[curMenuLevel] = select;
		}
		else if (CCanvas.keyPressed[8])
		{
			flag = true;
			CCanvas.keyPressed[8] = false;
			select = ((select + 1 <= menuX.Length - 1) ? (select + 1) : 0);
			menuPopUp.select[curMenuLevel] = select;
		}
		if (flag)
		{
			activeCMTOY(select, menuX.Length);
		}
		if (CCanvas.isTouch)
		{
			menuPopUp.updateMenuKey();
			if (CCanvas.panel.listMail.size() >= 0 && !CCanvas.panel.isShow && CCanvas.isPointer(CCanvas.w - 30, 0, 30, 30) && CCanvas.isPointerClick)
			{
				CCanvas.isPointerClick = false;
				CCanvas.panel.setTypeMail();
				CCanvas.panel.show();
			}
		}
		CScreen.clearKey();
	}

	private void activeCMTOY(int select, int nselect)
	{
		cmtoY = select * dis - hMenu / 2;
		if (CCanvas.isTouch && select != 0)
		{
			cmtoY += 10;
		}
		int num = nItemShow * dis;
		if (cmtoY > nselect * dis - num)
		{
			cmtoY = nselect * dis - num;
		}
		if (cmtoY < 0)
		{
			cmtoY = 0;
		}
	}

	public void perform(int idAction, object p)
	{
		if (idAction == 1000)
		{
			menuPopUp.select[curMenuLevel] = 0;
			int num = curMenuLevel - 1;
			if (num < 0)
			{
				num = 0;
			}
			activeCroll(num, curMenuSelect);
		}
		if (idAction == 1001)
		{
			doExit();
		}
		if (idAction == 1002)
		{
			doFire();
		}
		if (idAction == 1003)
		{
			CCanvas.currentDialog = null;
			CCanvas.exitByHand = true;
			LoginScr.gI().show();
		}
		if (idAction == 1004)
		{
			CCanvas.endDlg();
		}
		if (idAction == 1005)
		{
			doGoToTeam(linkTeam);
		}
		if (idAction == 1006)
		{
			doGoToWap(linkWapStr);
		}
		if (idAction == 1008)
		{
			if (CCanvas.inputDlg.tfInput.getText().Equals(string.Empty))
			{
				CCanvas.startOKDlg(L.plNewPass(), new Command(string.Empty, this, 1010, null));
				return;
			}
			text[1] = CCanvas.inputDlg.tfInput.getText();
			CCanvas.inputDlg = new InputDlg();
			CCanvas.inputDlg.setInfo(name[2], new Command(string.Empty, this, 1011, null), new Command(L.close(), this, 1012, null), TField.INPUT_TYPE_PASSWORD);
			CCanvas.inputDlg.show();
			CCanvas.inputDlg.tfInput.doChangeToTextBox(false);
		}
		if (idAction == 1009)
		{
			CCanvas.endDlg();
		}
		if (idAction == 1010)
		{
			CCanvas.currentDialog = null;
		}
		if (idAction == 1007)
		{
			if (CCanvas.inputDlg.tfInput.getText().Equals(string.Empty))
			{
				CCanvas.startOKDlg(L.plOldPass(), new Command(string.Empty, this, 1010, null));
				return;
			}
			name[0] = L.oldPass();
			name[1] = L.newPass();
			name[2] = L.retypeNewPass();
			text[0] = CCanvas.inputDlg.tfInput.getText();
			CCanvas.inputDlg = new InputDlg();
			CCanvas.inputDlg.setInfo(name[1], new Command(string.Empty, this, 1008, null), new Command(L.close(), this, 1009, null), TField.INPUT_TYPE_PASSWORD);
			CCanvas.inputDlg.show();
			CCanvas.inputDlg.tfInput.doChangeToTextBox(true);
		}
		if (idAction == 1011)
		{
			if (CCanvas.inputDlg.tfInput.getText().Equals(string.Empty))
			{
				CCanvas.startOKDlg(L.plRetypeNewPass(), new Command(string.Empty, this, 1010, null));
				return;
			}
			text[2] = CCanvas.inputDlg.tfInput.getText();
			if (text[2].Equals(text[1]))
			{
				GameService.gI().requestChangePass(text[0], text[1]);
				CCanvas.endDlg();
				CCanvas.startOKDlg(L.pleaseWait());
			}
			else
			{
				CCanvas.startOKDlg(L.newPassNotMath());
			}
		}
		if (idAction == 1012)
		{
			CCanvas.endDlg();
		}
		if (idAction == 9999)
		{
			MyMidlet.instance.exit();
		}
		if (idAction == 999)
		{
			mSystem.showQuangCao(false);
			CCanvas.endDlg();
		}
	}
}
