/** * 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); } } }
/** * 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(); } } }
/** * 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); } } }
/** * 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); } } }