void MenuActionBar::render() { Menu::render(); // draw hotkeyed icons for (unsigned i = 0; i < slots_count; i++) { if (!slots[i]) continue; if (hotkeys[i] != 0 && static_cast<unsigned>(hotkeys_mod[i]) < powers->powers.size()) { const Power &power = powers->getPower(hotkeys_mod[i]); //see if the slot should be greyed out slot_enabled[i] = (hero->hero_cooldown[hotkeys_mod[i]] == 0) && (slot_item_count[i] == -1 || (slot_item_count[i] > 0 && power.requires_item_quantity <= slot_item_count[i])) && !hero->stats.effects.stun && hero->stats.alive && hero->stats.canUsePower(power, hotkeys_mod[i]) && (twostep_slot == -1 || static_cast<unsigned>(twostep_slot) == i); unsigned icon_offset = 0;/* !slot_enabled[i] ? ICON_DISABLED_OFFSET : (hero->activated_powerslot == i ? ICON_HIGHLIGHT_OFFSET : 0); */ slots[i]->setIcon(power.icon + icon_offset); slots[i]->render(); } else { Rect dest; dest.x = slots[i]->pos.x; dest.y = slots[i]->pos.y; dest.h = dest.w = ICON_SIZE; if (emptyslot) { emptyslot->setDest(dest); render_device->render(emptyslot); } slots[i]->renderSelection(); } } for (int i=0; i<4; i++) menus[i]->render(); renderCooldowns(); // render log attention notifications for (int i=0; i<4; i++) if (requires_attention[i]) renderAttention(i); // draw hotkey labels if (SHOW_HOTKEYS) { for (unsigned int i = 0; i < slots_count; i++) { if (labels[i]) labels[i]->render(); } for (int i = 0; i < 4; i++) { menu_labels[i]->render(); } } }
void MenuActionBar::render() { Menu::render(); // draw hotkeyed icons for (unsigned i = 0; i < slots_count; i++) { if (!slots[i]) continue; if (hotkeys[i] != 0 && static_cast<unsigned>(hotkeys_mod[i]) < powers->powers.size()) { const Power &power = powers->getPower(hotkeys_mod[i]); //see if the slot should be greyed out slot_enabled[i] = (hero->hero_cooldown[hotkeys_mod[i]] == 0) && (hero->power_cast_ticks[hotkeys_mod[i]] == 0) && (slot_item_count[i] == -1 || (slot_item_count[i] > 0 && power.requires_item_quantity <= slot_item_count[i])) && !hero->stats.effects.stun && hero->stats.alive && hero->stats.canUsePower(power, hotkeys_mod[i]) && (twostep_slot == -1 || static_cast<unsigned>(twostep_slot) == i); slots[i]->setIcon(power.icon); slots[i]->render(); } else { Rect dest; dest.x = slots[i]->pos.x; dest.y = slots[i]->pos.y; dest.h = dest.w = ICON_SIZE; if (sprite_emptyslot) { sprite_emptyslot->setDest(dest); render_device->render(sprite_emptyslot); } slots[i]->renderSelection(); } } for (int i=0; i<4; i++) menus[i]->render(); renderCooldowns(); // render log attention notifications for (int i=0; i<4; i++) { if (requires_attention[i] && !menus[i]->in_focus) { renderAttention(i); } } }
void MenuActionBar::render() { Menu::render(); // draw hotkeyed icons for (unsigned i = 0; i < slots_count; i++) { if (!slots[i]) continue; if (hotkeys[i] != 0) { slots[i]->render(); } else { Rect dest; dest.x = slots[i]->pos.x; dest.y = slots[i]->pos.y; dest.h = dest.w = ICON_SIZE; if (sprite_emptyslot) { sprite_emptyslot->setDest(dest); render_device->render(sprite_emptyslot); } slots[i]->renderSelection(); } } for (int i=0; i<4; i++) menus[i]->render(); renderCooldowns(); // render log attention notifications for (int i=0; i<4; i++) { if (requires_attention[i] && !menus[i]->in_focus) { renderAttention(i); } } }