/**
 * Takes care of any events from the core game engine.
 * @param action Pointer to an action.
 */
void InventoryState::handle(Action *action)
{
	State::handle(action);
	
	if (action->getDetails()->type == SDL_MOUSEBUTTONDOWN)
	{
		if (action->getDetails()->button.button == SDL_BUTTON_X1)
		{
			btnNextClick(action);
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X2)
		{
			btnPrevClick(action);
		}
	}
	if (action->getDetails()->type == SDL_KEYDOWN)
	{
		// "tab" - next solider
		if (action->getDetails()->key.keysym.sym == Options::getInt("keyBattleNextUnit"))
		{
			btnNextClick(action);
		}
		// prev soldier
		else if (action->getDetails()->key.keysym.sym == Options::getInt("keyBattlePrevUnit"))
		{
			btnPrevClick(action);
		}
	}
}
Beispiel #2
0
/**
 * Closes the window on right-click.
 * @param action Pointer to an action.
 */
void UnitInfoState::handle(Action *action)
{
	State::handle(action);
	if (action->getDetails()->type == SDL_MOUSEBUTTONDOWN)
	{
		if (action->getDetails()->button.button == SDL_BUTTON_RIGHT)
		{
			_game->popState();
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X1)
		{
			if (!_mindProbe) btnNextClick(action);
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X2)
		{
			if (!_mindProbe) btnPrevClick(action);
		}
	}
	if (action->getDetails()->type == SDL_KEYDOWN)
	{
		if (action->getDetails()->key.keysym.sym == Options::keyBattleNextUnit)
		{
			if (!_mindProbe) btnNextClick(action);
		}
		else if (action->getDetails()->key.keysym.sym == Options::keyBattlePrevUnit)
		{
			if (!_mindProbe) btnPrevClick(action);
		}
		else if (action->getDetails()->key.keysym.sym == Options::keyCancel ||
				 action->getDetails()->key.keysym.sym == Options::keyBattleStats)
		{
			_game->popState();
		}
	}
}
Beispiel #3
0
/**
 * Takes care of any events from the core game engine.
 * @param action Pointer to an action.
 */
void InventoryState::handle(Action *action)
{
	State::handle(action);
	
	if (action->getDetails()->type == SDL_MOUSEBUTTONDOWN)
	{
		if (action->getDetails()->button.button == SDL_BUTTON_X1)
		{
			btnNextClick(action);
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X2)
		{
			btnPrevClick(action);
		}
	}
}
Beispiel #4
0
/**
 * Closes the window on right-click.
 * @param action Pointer to an action.
 */
void UnitInfoState::handle(Action *action)
{
	State::handle(action);
	if (action->getDetails()->type == SDL_MOUSEBUTTONDOWN)
	{
		if (action->getDetails()->button.button == SDL_BUTTON_RIGHT)
		{
			exitClick(action);
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X1)
		{
			if (!_mindProbe) btnNextClick(action);
		}
		else if (action->getDetails()->button.button == SDL_BUTTON_X2)
		{
			if (!_mindProbe) btnPrevClick(action);
		}
	}
}