mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 15:50:20 +00:00
feat: use WoW standard class colors for player name in player frame
Player name in the unit frame now shows in the official WoW class color (warrior=tan, paladin=pink, hunter=green, rogue=yellow, priest=white, DK=red, shaman=blue, mage=cyan, warlock=purple, druid=orange) matching the familiar in-game appearance.
This commit is contained in:
parent
f04a5c8f3e
commit
271518ee08
1 changed files with 19 additions and 2 deletions
|
|
@ -2121,8 +2121,25 @@ void GameScreen::renderPlayerFrame(game::GameHandler& gameHandler) {
|
|||
playerHp = playerMaxHp;
|
||||
}
|
||||
|
||||
// Name in green (friendly player color) — clickable for self-target, right-click for menu
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.3f, 1.0f, 0.3f, 1.0f));
|
||||
// Derive class color (WoW standard class colors)
|
||||
ImVec4 classColor(0.3f, 1.0f, 0.3f, 1.0f); // default green
|
||||
if (activeChar) {
|
||||
switch (activeChar->characterClass) {
|
||||
case game::Class::WARRIOR: classColor = ImVec4(0.78f, 0.61f, 0.43f, 1.0f); break;
|
||||
case game::Class::PALADIN: classColor = ImVec4(0.96f, 0.55f, 0.73f, 1.0f); break;
|
||||
case game::Class::HUNTER: classColor = ImVec4(0.67f, 0.83f, 0.45f, 1.0f); break;
|
||||
case game::Class::ROGUE: classColor = ImVec4(1.00f, 0.96f, 0.41f, 1.0f); break;
|
||||
case game::Class::PRIEST: classColor = ImVec4(1.00f, 1.00f, 1.00f, 1.0f); break;
|
||||
case game::Class::DEATH_KNIGHT: classColor = ImVec4(0.77f, 0.12f, 0.23f, 1.0f); break;
|
||||
case game::Class::SHAMAN: classColor = ImVec4(0.00f, 0.44f, 0.87f, 1.0f); break;
|
||||
case game::Class::MAGE: classColor = ImVec4(0.41f, 0.80f, 0.94f, 1.0f); break;
|
||||
case game::Class::WARLOCK: classColor = ImVec4(0.58f, 0.51f, 0.79f, 1.0f); break;
|
||||
case game::Class::DRUID: classColor = ImVec4(1.00f, 0.49f, 0.04f, 1.0f); break;
|
||||
}
|
||||
}
|
||||
|
||||
// Name in class color — clickable for self-target, right-click for menu
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, classColor);
|
||||
if (ImGui::Selectable(playerName.c_str(), false, 0, ImVec2(0, 0))) {
|
||||
gameHandler.setTarget(gameHandler.getPlayerGuid());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue