fix(deck): 몬스터 상태 슬롯이 몬스터를 지속 추종 (카메라 정착 전 배치 버그)
MonsterStatus 슬롯이 너무 오른쪽으로 어긋나던 문제. 원인: StartCombat이 KickCombatCamera(0.2s 지연 재confine)+플레이어 텔레포트 정착 전에 BuildMonsters→PositionMonsterSlot을 실행 → 전이중 카메라로 world→screen 변환이 잘못돼 슬롯이 화면 밖 우측에 배치, 카메라 정착 후 재배치 안 됨(고정). 메이커 MCP 플레이테스트로 확정(StartCombat 시점 ui x=978 / 정착 후 정답 442). 수정: StartCombat 끝에 전투 중 슬롯 지속 추종 타이머(0.15s) 추가 — 살아있는 몬스터마다 PositionMonsterSlot 재호출, CombatOver/몬스터0이면 자동 종료. 카메라 정착 타이밍과 무관하게 슬롯이 항상 몬스터 머리 위 추종. 검증: 정착 후 slotUiX == monScreenX-960 (몬스터 위 정확), 스크린샷 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -95,7 +95,19 @@ self:BuildMonsters()
|
|||||||
self:RenderCombat()
|
self:RenderCombat()
|
||||||
self:StartPlayerTurn()
|
self:StartPlayerTurn()
|
||||||
self:ApplyRelics("combatStart")
|
self:ApplyRelics("combatStart")
|
||||||
self:RenderCombat()`),
|
self:RenderCombat()
|
||||||
|
local slotTid = 0
|
||||||
|
slotTid = _TimerService:SetTimerRepeat(function()
|
||||||
|
if self.CombatOver == true or self.Monsters == nil or #self.Monsters == 0 then
|
||||||
|
_TimerService:ClearTimer(slotTid)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for i = 1, #self.Monsters do
|
||||||
|
if self.Monsters[i] ~= nil and self.Monsters[i].alive == true then
|
||||||
|
self:PositionMonsterSlot(i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end, 0.15)`),
|
||||||
method('RegisterMonster', `if self.Registered == nil then
|
method('RegisterMonster', `if self.Registered == nil then
|
||||||
self.Registered = {}
|
self.Registered = {}
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user