카메라 고정 범위에 HUD 여유(위 2.6 · 아래 2.2) — 전장 끝 스크롤 시 유닛이 상단 HUD 밑에 깔리던 것 수정 · 테스트 14/14

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-11-04 04:31:52 +09:00
parent ceaec991dd
commit f93fe8a81e
2 changed files with 7 additions and 3 deletions

View File

@ -12,6 +12,10 @@ namespace TKS
public float MinViewHeight = 10f;
public float MaxViewHeight = 36f;
public float Margin = 1f;
[Tooltip("위쪽 HUD(스테이지·턴 글자) 밑에 유닛이 깔리지 않도록 전장 위 끝을 더 내려 볼 수 있는 여유")]
public float TopMargin = 2.6f;
[Tooltip("아래쪽 HUD(안내·유닛 정보) 여유")]
public float BottomMargin = 2.2f;
public float FollowSpeed = 7f;
Camera cam;
@ -127,8 +131,8 @@ namespace TKS
var r = Board.Rect;
float minX = r.xMin - Margin + halfW;
float maxX = r.xMax + Margin - halfW;
float minY = r.yMin - Margin + halfH;
float maxY = r.yMax + Margin - halfH;
float minY = r.yMin - BottomMargin + halfH;
float maxY = r.yMax + TopMargin - halfH;
p.x = minX > maxX ? 0f : Mathf.Clamp(p.x, minX, maxX);
p.y = minY > maxY ? 0f : Mathf.Clamp(p.y, minY, maxY);
return p;

View File

@ -243,7 +243,7 @@ namespace TKS.Tests
var r = bm.Board.Rect;
cc.SnapTo(new Vector2(1000f, 1000f));
var v = cc.ViewRect;
Assert.LessOrEqual(v.yMax, r.yMax + cc.Margin + 0.01f, "전장 위쪽 밖으로 못 나감");
Assert.LessOrEqual(v.yMax, r.yMax + cc.TopMargin + 0.01f, "전장 위쪽 밖으로 못 나감(HUD 여유만큼만)");
Assert.LessOrEqual(v.xMax, r.xMax + cc.Margin + 0.01f + Mathf.Max(0f, v.width - r.width), "전장 오른쪽 밖으로 못 나감");
cc.SnapTo(Vector2.zero);
cc.PanBy(new Vector2(0f, 2f));