MUTATIONOFJB: Implement scroll buttons.
This commit is contained in:
parent
20d6d71ec9
commit
d2e354b51f
3 changed files with 21 additions and 3 deletions
|
@ -251,6 +251,10 @@ void Gui::onButtonClicked(ButtonWidget *button) {
|
||||||
if (buttonId <= BUTTON_PICKUP) {
|
if (buttonId <= BUTTON_PICKUP) {
|
||||||
const ActionInfo::Action actions[] = {ActionInfo::Walk, ActionInfo::Talk, ActionInfo::Look, ActionInfo::Use, ActionInfo::PickUp};
|
const ActionInfo::Action actions[] = {ActionInfo::Walk, ActionInfo::Talk, ActionInfo::Look, ActionInfo::Use, ActionInfo::PickUp};
|
||||||
_game.setCurrentAction(actions[buttonId]);
|
_game.setCurrentAction(actions[buttonId]);
|
||||||
|
} else if (buttonId == BUTTON_SCROLL_LEFT) {
|
||||||
|
_game.getGameData().getInventory().scrollLeft();
|
||||||
|
} else if (buttonId == BUTTON_SCROLL_RIGHT) {
|
||||||
|
_game.getGameData().getInventory().scrollRight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,18 @@ void Inventory::renameItem(const Common::String &oldName, const Common::String &
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Inventory::scrollLeft() {
|
||||||
|
if (_items.size() > VISIBLE_ITEMS) {
|
||||||
|
rotateItemsRight(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Inventory::scrollRight() {
|
||||||
|
if (_items.size() > VISIBLE_ITEMS) {
|
||||||
|
rotateItemsLeft(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Inventory::rotateItemsRight(uint n) {
|
void Inventory::rotateItemsRight(uint n) {
|
||||||
if (_items.size() < 2) {
|
if (_items.size() < 2) {
|
||||||
return;
|
return;
|
||||||
|
@ -121,7 +133,7 @@ void Inventory::reverseItems(uint from, uint to) {
|
||||||
|
|
||||||
const uint size = to - from + 1;
|
const uint size = to - from + 1;
|
||||||
for (uint i = 0; i < size / 2; ++i) {
|
for (uint i = 0; i < size / 2; ++i) {
|
||||||
SWAP(_items[i], _items[size - i - 1]);
|
SWAP(_items[from + i], _items[to - i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,12 +52,14 @@ public:
|
||||||
void removeAllItems();
|
void removeAllItems();
|
||||||
void renameItem(const Common::String &oldName, const Common::String &newName);
|
void renameItem(const Common::String &oldName, const Common::String &newName);
|
||||||
|
|
||||||
void rotateItemsRight(uint n);
|
void scrollLeft();
|
||||||
void rotateItemsLeft(uint n);
|
void scrollRight();
|
||||||
|
|
||||||
void setObserver(InventoryObserver *observer);
|
void setObserver(InventoryObserver *observer);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void rotateItemsRight(uint n);
|
||||||
|
void rotateItemsLeft(uint n);
|
||||||
void reverseItems(uint from, uint to);
|
void reverseItems(uint from, uint to);
|
||||||
|
|
||||||
Items _items;
|
Items _items;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue