ALERROR CLoginSession::OnCommand (const CString &sCmd, void *pData)

//	OnCommand
//
//	Handle a command

	{
	if (strEquals(sCmd, CMD_ALL_TASKS_DONE))
		{
		StopPerformance(ID_CTRL_WAIT);
		ShowInitialDlg();
		}

	else if (strEquals(sCmd, CMD_CANCEL))
		CmdCancel();

	else if (strEquals(sCmd, CMD_REGISTER))
		CmdRegister();

	else if (strEquals(sCmd, CMD_REGISTER_COMPLETE))
		CmdRegisterComplete((CRegisterUserTask *)pData);

	else if (strEquals(sCmd, CMD_SIGN_IN))
		CmdSignIn();

	else if (strEquals(sCmd, CMD_SIGN_IN_COMPLETE))
		CmdSignInComplete((CSignInUserTask *)pData);

	else if (strEquals(sCmd, CMD_SWITCH_TO_LOGIN))
		{
		StopPerformance(ID_DLG_REGISTER);

		const CVisualPalette &VI = m_HI.GetVisuals();
		IAnimatron *pDlg;

		CreateDlgSignIn(VI, &pDlg);
		m_iCurrent = dlgSignIn;
		StartPerformance(pDlg, ID_DLG_SIGN_IN, CReanimator::SPR_FLAG_DELETE_WHEN_DONE);
		}

	else if (strEquals(sCmd, CMD_SWITCH_TO_REGISTER))
		{
		StopPerformance(ID_DLG_SIGN_IN);

		const CVisualPalette &VI = m_HI.GetVisuals();
		IAnimatron *pDlg;

		CreateDlgRegister(VI, &pDlg);
		m_iCurrent = dlgRegister;
		StartPerformance(pDlg, ID_DLG_REGISTER, CReanimator::SPR_FLAG_DELETE_WHEN_DONE);
		}

	else if (strEquals(sCmd, CMD_PASSWORD_RESET))
		CmdPasswordReset();

	else if (strEquals(sCmd, CMD_TOS))
		sysOpenURL(CONSTLIT("http://www.kronosaur.com/legal/TermsofService.html"));

	return NOERROR;
	}
void CLoginSession::ShowInitialDlg (void)

//	ShowInitialDlg
//
//	Shows the first dialog box

	{
	const CVisualPalette &VI = m_HI.GetVisuals();
	IAnimatron *pDlg;

	//	If we're already signed in then we're done.

	if (m_Service.HasCapability(ICIService::canGetUserProfile))
		CmdCancel();

	//	Otherwise, if we have a username

	else if (m_Service.HasCapability(ICIService::cachedUser))
		{
		CreateDlgSignIn(VI, &pDlg);
		m_iCurrent = dlgSignIn;
		StartPerformance(pDlg, ID_DLG_SIGN_IN, CReanimator::SPR_FLAG_DELETE_WHEN_DONE);

		if (!m_Service.GetDefaultUsername().IsBlank())
			SetInputFocus(ID_CTRL_PASSWORD);
		}

	//	Otherwise, register

	else if (m_Service.HasCapability(ICIService::registerUser))
		{
		CreateDlgRegister(VI, &pDlg);
		m_iCurrent = dlgRegister;
		StartPerformance(pDlg, ID_DLG_REGISTER, CReanimator::SPR_FLAG_DELETE_WHEN_DONE);
		}

	//	Otherwise, cannot sign in

	else
		CmdCancel();
	}
Esempio n. 3
0
ALERROR CLoadGameSession::OnCommand (const CString &sCmd, void *pData)

//	OnCommand
//
//	Handle a command

	{
	if (strEquals(sCmd, CMD_CLOSE_SESSION))
		CmdCancel();
	else if (strEquals(sCmd, CMD_READ_COMPLETE))
		CmdReadComplete((CListSaveFilesTask *)pData);
	else if (strEquals(sCmd, CMD_OK_SESSION))
		CmdOK();

	return NOERROR;
	}
ALERROR CChangePasswordSession::OnCommand (const CString &sCmd, void *pData)

//	OnCommand
//
//	Handle a command

	{
	if (strEquals(sCmd, CMD_CANCEL))
		CmdCancel();
	else if (strEquals(sCmd, CMD_OK))
		CmdOK();
	else if (strEquals(sCmd, CMD_CHANGE_COMPLETE))
		CmdChangeComplete((CChangePasswordTask *)pData);

	return NOERROR;
	}
Esempio n. 5
0
void CLoadGameSession::OnKeyDown (int iVirtKey, DWORD dwKeyData)

//	OnKeyDown
//
//	KeyDown

	{
	switch (iVirtKey)
		{
		case VK_ESCAPE:
			CmdCancel();
			break;

		case VK_RETURN:
			CmdOK();
			break;
		}
	}
void CLoginSession::OnKeyDown (int iVirtKey, DWORD dwKeyData)

//	OnKeyDown
//
//	KeyDown

	{
	switch (iVirtKey)
		{
		case VK_ESCAPE:
			CmdCancel();
			break;

		case VK_RETURN:
			if (m_iCurrent == dlgSignIn)
				CmdSignIn();
			else if (m_iCurrent == dlgRegister)
				CmdRegister();

			break;
		}
	}
Esempio n. 7
0
ALERROR CNewGameSession::OnCommand (const CString &sCmd, void *pData)

//	OnCommand
//
//	Handle a command

	{
	if (strEquals(sCmd, CMD_CLOSE_SESSION))
		CmdCancel();
	else if (strEquals(sCmd, CMD_OK_SESSION))
		CmdOK();
	else if (strEquals(sCmd, CMD_NEXT_SHIP_CLASS))
		CmdNextShipClass();
	else if (strEquals(sCmd, CMD_PREV_SHIP_CLASS))
		CmdPrevShipClass();
	else if (strEquals(sCmd, CMD_CHANGE_GENOME))
		CmdChangeGenome();
	else if (strEquals(sCmd, CMD_EDIT_NAME))
		CmdEditName();

	return NOERROR;
	}
Esempio n. 8
0
void CNewGameSession::OnKeyDown (int iVirtKey, DWORD dwKeyData)

//	OnKeyDown
//
//	KeyDown

	{
	switch (iVirtKey)
		{
		case VK_RETURN:
			if (m_bEditingName)
				CmdEditName();
			else
				CmdOK();
			break;

		case VK_ESCAPE:
			if (m_bEditingName)
				CmdEditNameCancel();
			else
				CmdCancel();
			break;

		case VK_LEFT:
			CmdPrevShipClass();
			break;

		case VK_RIGHT:
			CmdNextShipClass();
			break;

		default:
			HandlePageScrollKeyDown(ID_SETTINGS, iVirtKey, dwKeyData);
			break;
		}
	}