public class CTime
{
	private int timeInterval;

	public int seconds;

	private long last;

	private long cur;

	private bool visible = true;

	public CTime()
	{
		last = (cur = mSystem.currentTimeMillis());
	}

	public void initTimeInterval(sbyte time)
	{
		timeInterval = time;
	}

	public void resetTime()
	{
		seconds = timeInterval;
		CRes.outz("second= " + seconds);
		visible = true;
	}

	public void skipTurn()
	{
		if (GameScr.pm.isYourTurn())
		{
			PM.getMyPlayer().active = false;
			GameService.gI().skipTurn();
			visible = false;
		}
	}

	public void update()
	{
		if (!visible || GameScr.trainingMode)
		{
			return;
		}
		cur = mSystem.currentTimeMillis();
		if (cur - last < 1000)
		{
			return;
		}
		seconds--;
		if (seconds <= -10 && seconds % 10 == 0)
		{
			seconds--;
			if (seconds < 0)
			{
				seconds = 0;
			}
			mSystem.mNotifyAll();
		}
		if (seconds < 0)
		{
			seconds = 0;
		}
		if (CCanvas.curScr == CCanvas.gameScr && seconds == 0)
		{
			if (PM.getCurPlayer() != null && PM.getCurPlayer().itemUsed != -1)
			{
				PM.getCurPlayer().itemUsed = -1;
			}
		}
		else
		{
			last = cur;
		}
	}

	public void paint(mGraphics g)
	{
		int num = (CCanvas.isTouch ? 25 : 0);
		if (visible && CCanvas.curScr == CCanvas.gameScr)
		{
			if (seconds > 10 || !GameScr.pm.isYourTurn())
			{
				mFont.tahoma_7b_white.drawString(g, seconds + string.Empty, Camera.x + CCanvas.hw, Camera.y + 40, 2, mFont.tahoma_7b_dark);
			}
			else if (CCanvas.gameTick % 10 > 5)
			{
				mFont.tahoma_7b_red.drawString(g, seconds + string.Empty, Camera.x + CCanvas.hw, Camera.y + 40, 2, mFont.tahoma_7b_dark);
			}
		}
	}

	public void stop()
	{
		visible = false;
	}
}
