(kinda) fix ui offset
This commit is contained in:
@@ -107,9 +107,8 @@ namespace Game
|
|||||||
if (rendering.SetupData.UseImgui)
|
if (rendering.SetupData.UseImgui)
|
||||||
{
|
{
|
||||||
auto& IO = ImGui::GetIO();
|
auto& IO = ImGui::GetIO();
|
||||||
IO.ConfigFlags = FlagBool(IO.ConfigFlags,
|
IO.ConfigFlags =
|
||||||
ImGuiConfigFlags_NoMouse | ImGuiConfigFlags_NoKeyboard,
|
FlagBool(IO.ConfigFlags, ImGuiConfigFlags_NoMouse | ImGuiConfigFlags_NoKeyboard, captureMouse);
|
||||||
GetInstance().Player.InteractionM == InteractionMode::Walk);
|
|
||||||
}
|
}
|
||||||
rendering.UIVisible = IsGaming ? UIVisibilityState::Game : UIVisibilityState::Debug;
|
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)
|
void WorldPuzzleUI::UpdateAvailableCards(Gen::PuzzleData& Data)
|
||||||
{
|
{
|
||||||
auto& level = GetInstance().GameLevel;
|
auto& level = GetInstance().GameLevel;
|
||||||
@@ -159,8 +169,9 @@ namespace Game
|
|||||||
dragPos += StaticData.ZAxis * -0.01f;
|
dragPos += StaticData.ZAxis * -0.01f;
|
||||||
quad.EData.Transform.Position = dragPos;
|
quad.EData.Transform.Position = dragPos;
|
||||||
|
|
||||||
|
Vec3 boardOffset = CalcBoardOffset(Data) / WorldPuzzleUI::UICardScale;
|
||||||
Vec3 boardPos = GlobalToLocalPoint(StaticData.UITransform, quadPlaneIntersectPos);
|
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 xPos = (int32_t)bx::round(boardTilePos.x);
|
||||||
int32_t yPos = (int32_t)bx::round(boardTilePos.y);
|
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)
|
void WorldPuzzleUI::UpdateBoardCards(Gen::PuzzleData& Data)
|
||||||
{
|
{
|
||||||
auto& level = GetInstance().GameLevel;
|
auto& level = GetInstance().GameLevel;
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user