(kinda) fix ui offset
This commit is contained in:
@@ -107,9 +107,8 @@ namespace Game
|
||||
if (rendering.SetupData.UseImgui)
|
||||
{
|
||||
auto& IO = ImGui::GetIO();
|
||||
IO.ConfigFlags = FlagBool(IO.ConfigFlags,
|
||||
ImGuiConfigFlags_NoMouse | ImGuiConfigFlags_NoKeyboard,
|
||||
GetInstance().Player.InteractionM == InteractionMode::Walk);
|
||||
IO.ConfigFlags =
|
||||
FlagBool(IO.ConfigFlags, ImGuiConfigFlags_NoMouse | ImGuiConfigFlags_NoKeyboard, captureMouse);
|
||||
}
|
||||
rendering.UIVisible = IsGaming ? UIVisibilityState::Game : UIVisibilityState::Debug;
|
||||
}
|
||||
|
||||
@@ -114,6 +114,16 @@ namespace Game
|
||||
}
|
||||
}
|
||||
|
||||
Vec3 CalcBoardOffset(const Gen::PuzzleData& puzData)
|
||||
{
|
||||
return Vec3{
|
||||
(float)(puzData.WidthTiles) / 2.0f - 0.5f,
|
||||
(float)(puzData.HeightTiles) / 2.0f - 0.5f,
|
||||
0.0f,
|
||||
} *
|
||||
WorldPuzzleUI::UICardScale * WorldPuzzleUI::UICardScale;
|
||||
}
|
||||
|
||||
void WorldPuzzleUI::UpdateAvailableCards(Gen::PuzzleData& Data)
|
||||
{
|
||||
auto& level = GetInstance().GameLevel;
|
||||
@@ -159,8 +169,9 @@ namespace Game
|
||||
dragPos += StaticData.ZAxis * -0.01f;
|
||||
quad.EData.Transform.Position = dragPos;
|
||||
|
||||
Vec3 boardOffset = CalcBoardOffset(Data) / WorldPuzzleUI::UICardScale;
|
||||
Vec3 boardPos = GlobalToLocalPoint(StaticData.UITransform, quadPlaneIntersectPos);
|
||||
Vec3 boardTilePos = boardPos / UICardOffset;
|
||||
Vec3 boardTilePos = (boardPos + boardOffset) / UICardOffset;
|
||||
int32_t xPos = (int32_t)bx::round(boardTilePos.x);
|
||||
int32_t yPos = (int32_t)bx::round(boardTilePos.y);
|
||||
|
||||
@@ -190,17 +201,6 @@ namespace Game
|
||||
}
|
||||
}
|
||||
|
||||
Vec3 CalcBoardOffset(const Gen::PuzzleData& puzData)
|
||||
{
|
||||
return {};
|
||||
return Vec3{
|
||||
(float)(puzData.WidthTiles) / (2.0f * Puzzle::Config::CardSize),
|
||||
(float)(puzData.HeightTiles) / (2.0f * Puzzle::Config::CardSize),
|
||||
0.0f,
|
||||
} *
|
||||
2.0f * WorldPuzzleUI::UICardScale * WorldPuzzleUI::UICardScale;
|
||||
}
|
||||
|
||||
void WorldPuzzleUI::UpdateBoardCards(Gen::PuzzleData& Data)
|
||||
{
|
||||
auto& level = GetInstance().GameLevel;
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user