orbit high score fix
This commit is contained in:
@@ -262,6 +262,7 @@ namespace game::state::play::menu::arcade
|
|||||||
cursorPosition = {};
|
cursorPosition = {};
|
||||||
centerPosition = {};
|
centerPosition = {};
|
||||||
level = 0;
|
level = 0;
|
||||||
|
highScoreAtRunStart = highScore;
|
||||||
score = 0;
|
score = 0;
|
||||||
isHighScoreAchievedThisRun = false;
|
isHighScoreAchievedThisRun = false;
|
||||||
itemEffectManager = {};
|
itemEffectManager = {};
|
||||||
@@ -311,7 +312,8 @@ namespace game::state::play::menu::arcade
|
|||||||
auto padding = ImGui::GetTextLineHeightWithSpacing();
|
auto padding = ImGui::GetTextLineHeightWithSpacing();
|
||||||
auto contentRegionAvail = ImGui::GetContentRegionAvail();
|
auto contentRegionAvail = ImGui::GetContentRegionAvail();
|
||||||
auto contentRegionPosition = ImGui::GetCursorScreenPos();
|
auto contentRegionPosition = ImGui::GetCursorScreenPos();
|
||||||
auto contentBounds = ImVec4(contentRegionPosition.x, contentRegionPosition.y, contentRegionAvail.x, contentRegionAvail.y);
|
auto contentBounds =
|
||||||
|
ImVec4(contentRegionPosition.x, contentRegionPosition.y, contentRegionAvail.x, contentRegionAvail.y);
|
||||||
auto available =
|
auto available =
|
||||||
imgui::to_vec2(contentRegionAvail) - vec2(0.0f, ImGui::GetFrameHeightWithSpacing() + style.WindowPadding.y);
|
imgui::to_vec2(contentRegionAvail) - vec2(0.0f, ImGui::GetFrameHeightWithSpacing() + style.WindowPadding.y);
|
||||||
auto canvasSize = glm::max(vec2(1.0f), available - vec2(padding * 2.0f));
|
auto canvasSize = glm::max(vec2(1.0f), available - vec2(padding * 2.0f));
|
||||||
@@ -502,16 +504,12 @@ namespace game::state::play::menu::arcade
|
|||||||
rewardChance, rewardRollCount, menu::ItemEffectManager::SHOOT_UP);
|
rewardChance, rewardRollCount, menu::ItemEffectManager::SHOOT_UP);
|
||||||
if (score > highScore)
|
if (score > highScore)
|
||||||
{
|
{
|
||||||
auto previousHighScore = highScore;
|
|
||||||
highScore = score;
|
highScore = score;
|
||||||
|
|
||||||
if (!isHighScoreAchievedThisRun)
|
if (!isHighScoreAchievedThisRun && highScoreAtRunStart > 0)
|
||||||
{
|
{
|
||||||
isHighScoreAchievedThisRun = true;
|
isHighScoreAchievedThisRun = true;
|
||||||
schema.sounds.highScore.play();
|
schema.sounds.highScore.play();
|
||||||
|
|
||||||
if (previousHighScore > 0)
|
|
||||||
{
|
|
||||||
auto toastText = strings.get(Strings::ArcadeHighScoreToast);
|
auto toastText = strings.get(Strings::ArcadeHighScoreToast);
|
||||||
auto toastPosition = imgui::to_imvec2(
|
auto toastPosition = imgui::to_imvec2(
|
||||||
canvasScreenPosition + player->position -
|
canvasScreenPosition + player->position -
|
||||||
@@ -521,7 +519,6 @@ namespace game::state::play::menu::arcade
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (player && !isPlayerDying && hurtTimer <= 0 && !player->hitboxNull.empty() &&
|
if (player && !isPlayerDying && hurtTimer <= 0 && !player->hitboxNull.empty() &&
|
||||||
player->nullMap.contains(player->hitboxNull))
|
player->nullMap.contains(player->hitboxNull))
|
||||||
@@ -602,8 +599,7 @@ namespace game::state::play::menu::arcade
|
|||||||
toasts.update(drawList);
|
toasts.update(drawList);
|
||||||
|
|
||||||
auto isMenuPressed = WIDGET_FX(ImGui::Button(strings.get(Strings::ArcadeMenuBackButton).c_str()));
|
auto isMenuPressed = WIDGET_FX(ImGui::Button(strings.get(Strings::ArcadeMenuBackButton).c_str()));
|
||||||
if (ImGui::IsItemHovered())
|
if (ImGui::IsItemHovered()) ImGui::SetItemTooltip("%s", strings.get(Strings::ArcadeMenuBackButtonTooltip).c_str());
|
||||||
ImGui::SetItemTooltip("%s", strings.get(Strings::ArcadeMenuBackButtonTooltip).c_str());
|
|
||||||
return isMenuPressed;
|
return isMenuPressed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ namespace game::state::play::menu::arcade
|
|||||||
int level{1};
|
int level{1};
|
||||||
int score{};
|
int score{};
|
||||||
int highScore{};
|
int highScore{};
|
||||||
|
int highScoreAtRunStart{};
|
||||||
bool isHighScoreAchievedThisRun{};
|
bool isHighScoreAchievedThisRun{};
|
||||||
menu::ItemEffectManager itemEffectManager{};
|
menu::ItemEffectManager itemEffectManager{};
|
||||||
game::state::play::item::Reward itemRewards{};
|
game::state::play::item::Reward itemRewards{};
|
||||||
|
|||||||
Reference in New Issue
Block a user