reset
This commit is contained in:
@@ -383,6 +383,7 @@ namespace Game
|
||||
quad.EData.ModelH = GameRendering::Get().GetModelHandleFromPath("models/plane.glb");
|
||||
}
|
||||
SolvedQuad = level.UIQuads.New();
|
||||
ResetQuad = level.UIQuads.New();
|
||||
IsSetup = true;
|
||||
LOG("finished setup!");
|
||||
}
|
||||
@@ -450,6 +451,7 @@ namespace Game
|
||||
UpdateMatrix(tileOriginTransform);
|
||||
|
||||
Vec3 mousePosWorld = GetMousePosWorld();
|
||||
Vec3 quadPlaneIntersectPos;
|
||||
|
||||
Puzzle::PuzzleSolver solver;
|
||||
EntityRenderData solvedData;
|
||||
@@ -462,10 +464,24 @@ namespace Game
|
||||
: solvedData.TextureHandle;
|
||||
solvedQuad.EData.Transform.Position = tileOriginTransform.Position;
|
||||
solvedQuad.EData.Transform.Rotation = camTransform.Rotation;
|
||||
solvedQuad.EData.Transform.Scale = solvedData.Transform.Scale;
|
||||
TranslateLocal(solvedQuad.EData.Transform, solvedData.Transform.Position);
|
||||
Rotate(solvedQuad.EData.Transform, Vec3{bx::kPi * 0.5f, 0.0f, (1.0f - 0 * 0.5f) * bx::kPi});
|
||||
|
||||
EntityRenderData resetData;
|
||||
resetData.LoadFromSaved(GetInstance().Player.Config.TabletResetRenderData);
|
||||
auto& resetQuad = level.UIQuads.Get(ResetQuad);
|
||||
resetQuad.EData = resetData;
|
||||
resetQuad.EData.Visible = IsActive;
|
||||
resetQuad.EData.Transform.Position = tileOriginTransform.Position;
|
||||
resetQuad.EData.Transform.Rotation = camTransform.Rotation;
|
||||
TranslateLocal(resetQuad.EData.Transform, resetData.Transform.Position);
|
||||
Rotate(resetQuad.EData.Transform, Vec3{bx::kPi * 0.5f, 0.0f, (1.0f - 0 * 0.5f) * bx::kPi});
|
||||
if (GetMouseButtonPressedNow(MouseButton::Left) &&
|
||||
IsQuadHovered(resetQuad.EData.Transform, mousePosWorld, quadPlaneIntersectPos))
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// Available Cards
|
||||
for (int32_t i = 0; i < Puzzle::Config::MaxAvailableStacks; ++i)
|
||||
{
|
||||
@@ -492,7 +508,6 @@ namespace Game
|
||||
|
||||
if (j == 0)
|
||||
{
|
||||
Vec3 quadPlaneIntersectPos;
|
||||
if (IsQuadHovered(quad.EData.Transform, mousePosWorld, quadPlaneIntersectPos) &&
|
||||
DraggedAvailableCardIdx == UINT16_MAX && DraggedCard.X == -1 &&
|
||||
GetMouseButtonPressedNow(MouseButton::Left))
|
||||
|
||||
@@ -158,6 +158,7 @@ namespace Game
|
||||
UIQuadEntityHandle UIPlacedCards[Puzzle::Config::MaxCardsInPuzzle];
|
||||
UIQuadEntityHandle UIAvailableCards[Puzzle::Config::MaxAvailableStacks * UIAvailableCardMaxStackPreview];
|
||||
UIQuadEntityHandle SolvedQuad;
|
||||
UIQuadEntityHandle ResetQuad;
|
||||
Gen::PuzPos DraggedCard{-1, -1};
|
||||
uint16_t DraggedAvailableCardIdx = UINT16_MAX;
|
||||
bool IsSetup = false;
|
||||
@@ -165,6 +166,7 @@ namespace Game
|
||||
|
||||
void Setup();
|
||||
void Update();
|
||||
void Reset(); // TODO!
|
||||
};
|
||||
|
||||
class Level
|
||||
|
||||
@@ -52,12 +52,12 @@ namespace Tools
|
||||
return changed;
|
||||
}
|
||||
|
||||
bool ModelDropdown(Gen::ModelHandle& modelHandle, const char* name)
|
||||
bool ModelDropdown(Gen::ModelHandle& modelHandle, const char* title)
|
||||
{
|
||||
bool changed = false;
|
||||
auto& R = Game::GameRendering::Get();
|
||||
const char* assetName = GetAssetPath(modelHandle.Asset);
|
||||
if (ImGui::BeginCombo(name, assetName))
|
||||
if (ImGui::BeginCombo(title, assetName))
|
||||
{
|
||||
for (int32_t i = 0; i < R.ModelCount; ++i)
|
||||
{
|
||||
@@ -72,12 +72,12 @@ namespace Tools
|
||||
return changed;
|
||||
}
|
||||
|
||||
bool TextureDropdown(Gen::TextureHandle& texHandle)
|
||||
bool TextureDropdown(Gen::TextureHandle& texHandle, const char* title)
|
||||
{
|
||||
bool changed = false;
|
||||
auto& R = Game::GameRendering::Get();
|
||||
const char* name = GetAssetPath(texHandle.Asset);
|
||||
if (ImGui::BeginCombo("Texture", name))
|
||||
if (ImGui::BeginCombo(title, name))
|
||||
{
|
||||
for (int32_t i = 0; i < R.MaxTextures; ++i)
|
||||
{
|
||||
@@ -305,7 +305,9 @@ namespace Tools
|
||||
bTabletChanged |= Tools::EntityDataSettings(player.Config.TabletBackgroundRenderData);
|
||||
ImGui::Text("Status");
|
||||
bTabletChanged |= Tools::EntityDataSettings(player.Config.TabletStatusRenderData);
|
||||
bTabletChanged |= Tools::TextureDropdown(player.Config.TabletStatusSolvedTexture);
|
||||
bTabletChanged |= Tools::TextureDropdown(player.Config.TabletStatusSolvedTexture, "Solved Texture");
|
||||
ImGui::Text("Reset");
|
||||
bTabletChanged |= Tools::EntityDataSettings(player.Config.TabletResetRenderData);
|
||||
if (bTabletChanged)
|
||||
{
|
||||
Serializer s;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
namespace Tools
|
||||
{
|
||||
bool EntityDataSettings(Gen::SavedEntityRenderData& data);
|
||||
bool ModelDropdown(Gen::ModelHandle& modelHandle, const char* name = "Model");
|
||||
bool TextureDropdown(Gen::TextureHandle& texHandle);
|
||||
bool ModelDropdown(Gen::ModelHandle& modelHandle, const char* title = "Model");
|
||||
bool TextureDropdown(Gen::TextureHandle& texHandle, const char* title = "Texture");
|
||||
bool MaterialDropdown(Gen::EMaterial::Enum& material);
|
||||
bool TransformUI(Gen::Transform& transform);
|
||||
void RenderDebugUI(Game::GameRendering& rendering);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -171,4 +171,5 @@ type SavedPlayerConfig
|
||||
SavedEntityRenderData TabletBackgroundRenderData
|
||||
SavedEntityRenderData TabletStatusRenderData
|
||||
TextureHandle TabletStatusSolvedTexture
|
||||
SavedEntityRenderData TabletResetRenderData
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user