添加 LightGame 关卡编辑器并修复死亡扣命、光感门阈值与渲染问题

- 新增 LevelEditor:ImGui 面板支持 tile 绘制、对象放置、选择、擦除、网格/碰撞体可视化、关卡导出为头文件
- 修复 LevelRenderer::draw 中 draw_tilemap 错误传入负 screen 坐标导致摄像机移动后 tile 消失
- 修复 Preview Light 滑块用 reinterpret_cast 将 uint16_t 强转为 int* 写入 4 字节覆盖相邻 bool 成员
- 修复编辑器放置光感门缺少 light_threshold 默认值导致不响应亮度变化
- 统一 LightPlatform[3192,4095] ShadowPlatform[0,1023] Door[1023,3192] 阈值到关卡数据与编辑器默认值
- 修复 SDL_StopTextInput 导致 ImGui InputText 无法输入及键盘状态异常
- 修复死亡状态每帧扣命导致一次死亡直接 GameOver
- 集成 ImGui (SDL2 Renderer 后端) 到构建系统
This commit is contained in:
2026-06-11 19:30:04 +08:00
parent d49aef8c0f
commit 05d7d9783e
41 changed files with 62887 additions and 338 deletions
+13
View File
@@ -60,6 +60,19 @@ set(CORE_INCLUDE_DIRS
assets/sprite
)
if(NOT USE_FRAMEBUFFER)
list(APPEND CORE_SOURCES
third_party/imgui/imgui.cpp
third_party/imgui/imgui_demo.cpp
third_party/imgui/imgui_draw.cpp
third_party/imgui/imgui_tables.cpp
third_party/imgui/imgui_widgets.cpp
third_party/imgui/backends/imgui_impl_sdl2.cpp
third_party/imgui/backends/imgui_impl_sdlrenderer2.cpp
)
list(APPEND CORE_INCLUDE_DIRS third_party/imgui)
endif()
add_library(imx6u_core STATIC ${CORE_SOURCES})
target_include_directories(imx6u_core PUBLIC ${CORE_INCLUDE_DIRS})