| 66 | } |
| 67 | |
| 68 | void Window_ShopNumber::Update() { |
| 69 | Window_Base::Update(); |
| 70 | |
| 71 | if (active) { |
| 72 | int last_number = number; |
| 73 | if (Input::IsRepeated(Input::RIGHT) && number < item_max) { |
| 74 | number++; |
| 75 | } else if (Input::IsRepeated(Input::LEFT) && number > 1) { |
| 76 | number--; |
| 77 | } else if ((Input::IsRepeated(Input::UP) || Input::IsTriggered(Input::SCROLL_UP)) |
| 78 | && number < item_max) { |
| 79 | number = min(number + 10, item_max); |
| 80 | } else if ((Input::IsRepeated(Input::DOWN) || Input::IsTriggered(Input::SCROLL_DOWN)) |
| 81 | && number > 1) { |
| 82 | number = max(number - 10, 1); |
| 83 | } |
| 84 | |
| 85 | if (last_number != number) { |
| 86 | Main_Data::game_system->SePlay(Main_Data::game_system->GetSystemSE(Main_Data::game_system->SFX_Cursor)); |
| 87 | Refresh(); |
| 88 | } |
| 89 | } |
| 90 | } |
| 91 | |
| 92 | int Window_ShopNumber::GetTotal() const { |
| 93 | return price * number; |