puzzle ui positioning
This commit is contained in:
@@ -353,9 +353,14 @@ namespace Game
|
||||
UpdateMatrix(camTransform);
|
||||
Vec3 cameraPos = camTransform.Position;
|
||||
|
||||
Vec2 uiOffset = Vec2{static_cast<float>(Data.WidthTiles / Puzzle::Config::CardSize - 1),
|
||||
static_cast<float>(Data.HeightTiles / Puzzle::Config::CardSize) - 1};
|
||||
uiOffset *= -UICardOffset * 0.5f;
|
||||
|
||||
Transform& boardTransform = level.UIQuads.Get(level.TabletHandle).EData.Transform;
|
||||
Transform tileOriginTransform = boardTransform;
|
||||
tileOriginTransform.Position += AxisForward(camTransform.M) * -0.01f;
|
||||
TranslateLocal(tileOriginTransform, Vec3{uiOffset.x, 0.0f, uiOffset.y} * 1.0f);
|
||||
UpdateMatrix(tileOriginTransform);
|
||||
|
||||
Vec2 mousePos = GetMousePos();
|
||||
@@ -384,7 +389,7 @@ namespace Game
|
||||
|
||||
bool isValid = Puzzle::IsValid(card.RefCard);
|
||||
|
||||
// Tile
|
||||
// World Tile
|
||||
tile.EData.Visible = true;
|
||||
tile.EData.ModelH = isValid ? staticCards[card.RefCard.Idx].ModelHandle : staticCards[0].ModelHandle;
|
||||
tile.EData.DotColor = visuals.TileDotColor;
|
||||
@@ -402,7 +407,7 @@ namespace Game
|
||||
tile.EData.Transform.Position = cardPos;
|
||||
bx::mtxRotateY(tile.EData.Transform.Rotation.M, card.Rotation * bx::kPi * 0.5f);
|
||||
|
||||
// Quad
|
||||
// UI Quad
|
||||
quad.EData.Visible = isValid;
|
||||
quad.EData.TextureHandle =
|
||||
isValid ? staticCards[card.RefCard.Idx].BoardTextureHandle : Gen::TextureHandle{};
|
||||
@@ -412,8 +417,7 @@ namespace Game
|
||||
quad.EData.Transform.Position = tileOriginTransform.Position;
|
||||
quad.EData.Transform.Rotation = camTransform.Rotation;
|
||||
TranslateLocal(quad.EData.Transform,
|
||||
Vec3{(float)card.Position.X, (float)card.Position.Y, 0.0f} * UICardOffset *
|
||||
0.1f); // no clue where the 0.1 comes from
|
||||
Vec3{(float)card.Position.X, (float)card.Position.Y, 0.0f} * UICardOffset * UICardScale);
|
||||
Rotate(quad.EData.Transform, Vec3{bx::kPi * 0.5f, 0.0f, (1.0f - card.Rotation * 0.5f) * bx::kPi});
|
||||
quad.EData.Transform.Scale = {UICardScale, UICardScale, UICardScale};
|
||||
|
||||
|
||||
@@ -142,8 +142,8 @@ namespace Game
|
||||
struct WorldPuzzle
|
||||
{
|
||||
static constexpr Gen::Vec2 WorldCardSize{10.0f, 10.0f};
|
||||
static constexpr float UICardOffset = 0.21f;
|
||||
static constexpr float UICardScale = 0.1f;
|
||||
static constexpr float UICardScale = 0.05f;
|
||||
static constexpr float UICardOffset = 2.1f * UICardScale;
|
||||
Gen::PuzzleData Data;
|
||||
Gen::Vec3 WorldPosition;
|
||||
PuzzleTileEntityHandle TileHandles[Puzzle::Config::MaxCardsInPuzzle];
|
||||
|
||||
Reference in New Issue
Block a user