mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 16:30:15 +00:00
Add character creation screen with race/class/appearance customization
Implements a full character creation UI integrated into the existing flow. In single-player mode, auth screen now goes to character creation before entering the world. In online mode, a "Create Character" button on the character selection screen sends CMSG_CHAR_CREATE to the server. Includes WoW 3.3.5a race/class combo validation and appearance range limits.
This commit is contained in:
parent
129bbac9b3
commit
0605d1522d
16 changed files with 611 additions and 30 deletions
|
|
@ -148,7 +148,10 @@ void CharacterScreen::render(game::GameHandler& gameHandler) {
|
|||
ss << "Entering world with " << character.name << "...";
|
||||
setStatus(ss.str());
|
||||
|
||||
gameHandler.selectCharacter(character.guid);
|
||||
// Only send CMSG_PLAYER_LOGIN in online mode
|
||||
if (!gameHandler.isSinglePlayerMode()) {
|
||||
gameHandler.selectCharacter(character.guid);
|
||||
}
|
||||
|
||||
// Call callback
|
||||
if (onCharacterSelected) {
|
||||
|
|
@ -169,7 +172,7 @@ void CharacterScreen::render(game::GameHandler& gameHandler) {
|
|||
ImGui::Separator();
|
||||
ImGui::Spacing();
|
||||
|
||||
// Back/Refresh buttons
|
||||
// Back/Refresh/Create buttons
|
||||
if (ImGui::Button("Refresh", ImVec2(120, 0))) {
|
||||
if (gameHandler.getState() == game::WorldState::READY ||
|
||||
gameHandler.getState() == game::WorldState::CHAR_LIST_RECEIVED) {
|
||||
|
|
@ -178,6 +181,14 @@ void CharacterScreen::render(game::GameHandler& gameHandler) {
|
|||
}
|
||||
}
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
if (ImGui::Button("Create Character", ImVec2(150, 0))) {
|
||||
if (onCreateCharacter) {
|
||||
onCreateCharacter();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue