|
@@ -10739,26 +10739,29 @@ static bool ImGui::NavScoreItem(ImGuiNavItemData* result)
|
|
}
|
|
}
|
|
|
|
|
|
#if IMGUI_DEBUG_NAV_SCORING
|
|
#if IMGUI_DEBUG_NAV_SCORING
|
|
- char buf[128];
|
|
|
|
- if (IsMouseHoveringRect(cand.Min, cand.Max))
|
|
|
|
- {
|
|
|
|
- ImFormatString(buf, IM_ARRAYSIZE(buf), "dbox (%.2f,%.2f->%.4f)\ndcen (%.2f,%.2f->%.4f)\nd (%.2f,%.2f->%.4f)\nnav %c, quadrant %c", dbx, dby, dist_box, dcx, dcy, dist_center, dax, day, dist_axial, "WENS"[g.NavMoveDir], "WENS"[quadrant]);
|
|
|
|
- ImDrawList* draw_list = GetForegroundDrawList(window);
|
|
|
|
- draw_list->AddRect(curr.Min, curr.Max, IM_COL32(255,200,0,100));
|
|
|
|
- draw_list->AddRect(cand.Min, cand.Max, IM_COL32(255,255,0,200));
|
|
|
|
- draw_list->AddRectFilled(cand.Max - ImVec2(4, 4), cand.Max + CalcTextSize(buf) + ImVec2(4, 4), IM_COL32(40,0,0,150));
|
|
|
|
- draw_list->AddText(cand.Max, ~0U, buf);
|
|
|
|
- }
|
|
|
|
- else if (g.IO.KeyCtrl) // Hold to preview score in matching quadrant. Press C to rotate.
|
|
|
|
|
|
+ char buf[200];
|
|
|
|
+ if (g.IO.KeyCtrl) // Hold CTRL to preview score in matching quadrant. CTRL+Arrow to rotate.
|
|
{
|
|
{
|
|
if (quadrant == g.NavMoveDir)
|
|
if (quadrant == g.NavMoveDir)
|
|
{
|
|
{
|
|
ImFormatString(buf, IM_ARRAYSIZE(buf), "%.0f/%.0f", dist_box, dist_center);
|
|
ImFormatString(buf, IM_ARRAYSIZE(buf), "%.0f/%.0f", dist_box, dist_center);
|
|
ImDrawList* draw_list = GetForegroundDrawList(window);
|
|
ImDrawList* draw_list = GetForegroundDrawList(window);
|
|
- draw_list->AddRectFilled(cand.Min, cand.Max, IM_COL32(255, 0, 0, 200));
|
|
|
|
|
|
+ draw_list->AddRectFilled(cand.Min, cand.Max, IM_COL32(255, 0, 0, 80));
|
|
|
|
+ draw_list->AddRectFilled(cand.Min, cand.Min + CalcTextSize(buf), IM_COL32(255, 0, 0, 200));
|
|
draw_list->AddText(cand.Min, IM_COL32(255, 255, 255, 255), buf);
|
|
draw_list->AddText(cand.Min, IM_COL32(255, 255, 255, 255), buf);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (IsMouseHoveringRect(cand.Min, cand.Max))
|
|
|
|
+ {
|
|
|
|
+ ImFormatString(buf, IM_ARRAYSIZE(buf),
|
|
|
|
+ "d-box (%7.3f,%7.3f) -> %7.3f\nd-center (%7.3f,%7.3f) -> %7.3f\nd-axial (%7.3f,%7.3f) -> %7.3f\nnav %c, quadrant %c",
|
|
|
|
+ dbx, dby, dist_box, dcx, dcy, dist_center, dax, day, dist_axial, "WENS"[g.NavMoveDir], "WENS"[quadrant]);
|
|
|
|
+ ImDrawList* draw_list = GetForegroundDrawList(window);
|
|
|
|
+ draw_list->AddRect(curr.Min, curr.Max, IM_COL32(255,200,0,100));
|
|
|
|
+ draw_list->AddRect(cand.Min, cand.Max, IM_COL32(255,255,0,200));
|
|
|
|
+ draw_list->AddRectFilled(cand.Max - ImVec2(4, 4), cand.Max + CalcTextSize(buf) + ImVec2(4, 4), IM_COL32(40,0,0,200));
|
|
|
|
+ draw_list->AddText(cand.Max, ~0U, buf);
|
|
|
|
+ }
|
|
#endif
|
|
#endif
|
|
|
|
|
|
// Is it in the quadrant we're interested in moving to?
|
|
// Is it in the quadrant we're interested in moving to?
|
|
@@ -11378,13 +11381,14 @@ void ImGui::NavUpdateCreateMoveRequest()
|
|
g.NavScoringNoClipRect.TranslateY(scoring_rect_offset_y);
|
|
g.NavScoringNoClipRect.TranslateY(scoring_rect_offset_y);
|
|
}
|
|
}
|
|
|
|
|
|
- // [DEBUG] Always send a request
|
|
|
|
|
|
+ // [DEBUG] Always send a request when holding CTRL. Hold CTRL + Arrow change the direction.
|
|
#if IMGUI_DEBUG_NAV_SCORING
|
|
#if IMGUI_DEBUG_NAV_SCORING
|
|
- if (io.KeyCtrl && IsKeyPressed(ImGuiKey_C))
|
|
|
|
- g.NavMoveDirForDebug = (ImGuiDir)((g.NavMoveDirForDebug + 1) & 3);
|
|
|
|
- if (io.KeyCtrl && g.NavMoveDir == ImGuiDir_None)
|
|
|
|
|
|
+ //if (io.KeyCtrl && IsKeyPressed(ImGuiKey_C))
|
|
|
|
+ // g.NavMoveDirForDebug = (ImGuiDir)((g.NavMoveDirForDebug + 1) & 3);
|
|
|
|
+ if (io.KeyCtrl)
|
|
{
|
|
{
|
|
- g.NavMoveDir = g.NavMoveDirForDebug;
|
|
|
|
|
|
+ if (g.NavMoveDir == ImGuiDir_None)
|
|
|
|
+ g.NavMoveDir = g.NavMoveDirForDebug;
|
|
g.NavMoveFlags |= ImGuiNavMoveFlags_DebugNoResult;
|
|
g.NavMoveFlags |= ImGuiNavMoveFlags_DebugNoResult;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|