AI/잡다한개발노트

전투방식 단순화 개발기록 (2026-02-27)

blacknabis 2026. 2. 28. 04:31
반응형

전투방식 단순화 개발기록 (2026-02-27)

정리본: 문서/진행/전투방식_단순화_개발기록_정리본_2026_02_28.md

1) 작업 목적

  • 전투/이동 중 유닛이 동일 좌표에 겹치는 현상 제거
  • 기존 단순 전투 규칙(범위 내 공격, 범위 밖 이동) 유지

2) 반영 내용

공통(BaseUnit)

  • 팀 내부 유닛 간 분리 보정 유틸 추가
    • ApplyTeamSeparation(float deltaTime, float separationRadius, float pushSpeed)
    • 동일 좌표(거리 0)에서도 분리되도록 fallback 방향 처리 포함
  • 정지 거리 기반 이동 헬퍼 추가
    • MoveTowardsWithStopDistance(Vector3 from, Vector3 target, float maxDistanceDelta, float stopDistance)

EnemyRuntime

  • 타깃 근접 시 중심점까지 겹치지 않도록 정지 거리 적용
  • 전투 중/이동 중 팀 분리 보정 적용

HeroController

  • 적 추적 이동 시 정지 거리 적용(과도한 겹침 방지)
  • 전투 중/이동 중 팀 분리 보정 적용

BarracksSoldierRuntime

  • 적 추적 이동 시 정지 거리 적용
  • 전투 중/이동 중 팀 분리 보정 적용

3) 수정 파일

  • Assets/Scripts/Kingdom/Game/BaseUnit.cs
  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
  • Assets/Scripts/Kingdom/Game/HeroController.cs
  • Assets/Scripts/Kingdom/Game/BarracksSoldierRuntime.cs
  • 문서/진행/전투방식_단순화_원샷리팩토링_플랜_2026_02_27.md (선행 작업 섹션 추가)

4) 검증 결과

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • Unity Play Mode 콘솔:
    • Error 0
    • Warning 0

5) 비고

  • 밸런스 수치(데미지/쿨타임)는 변경하지 않음
  • 분리 보정은 팀 내부 기준으로 우선 적용

6) 추가 작업 (다음 단계 반영)

EnemyRuntime 레거시 모션 상태 제거

  • EnemyMotionState에서 Blocked, Engaged 제거
  • 애니메이션 프레임 선택 로직 단순화
    • 이동: Moving
    • 공격: Attacking
    • 사망: Dead
  • 애니메이터 파라미터 매핑은 유지
    • Walk=1, Attack=2, Die=3

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • Unity Play Mode 콘솔:
    • Error 0
    • Warning 0

9) 추가 작업 (겹침 스모크 로그 상세화)

회귀 로그 보강

  • RunBarracksMeleeSmokeRegressionAsync()에 겹침 최초 샘플 기록 추가
    • firstOverlapAtSec
    • firstOverlapPairCount
    • firstOverlapMinPairDistance
  • CaptureOverlapSample(...) 로컬 함수로 최초 겹침 시점/지표를 한 번만 캡처
  • 겹침 실패 시 즉시 원인 로그 출력
    • maxPairs, firstAt, firstPairs, firstMinDist
  • 종료 요약 로그에 최초 겹침 정보 포함

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • Unity Play Mode 콘솔:
    • Error 0
    • Warning 0

8) 추가 작업 (Separation 파라미터 설정 외부화)

데이터 스키마 확장

  • EnemyConfig 추가 필드
    • SeparationRadius
    • SeparationPushSpeed
    • ChaseStopDistance
  • HeroConfig 추가 필드
    • SeparationRadius
    • SeparationPushSpeed
    • ChaseStopDistance
  • TowerConfig.BarracksData 추가 필드
    • SoldierSeparationRadius
    • SoldierSeparationPushSpeed
    • SoldierChaseStopDistance

런타임 반영

  • EnemyRuntime는 separation/stop 거리 값을 EnemyConfig에서 우선 사용, 미설정 시 기본값 fallback
  • HeroController는 separation/stop 거리 값을 HeroConfig에서 우선 사용, 미설정 시 기본값 fallback
  • BarracksSoldierRuntimeUpdateMovementSettings(...)로 이동 보정 파라미터를 주입받도록 확장
  • TowerManager에서 병사 생성/스탯 갱신 시 병사 이동 보정 파라미터를 설정값으로 주입
  • TowerManager 정규화 단계에서 배럭 이동 보정 값 미설정 시 기본값 채움

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • Unity Play Mode 콘솔:
    • Error 0
    • Warning 0

7) 추가 작업 (겹침 방지 스모크 assert 연동)

TowerManager 디버그 지표 확장

  • BarracksDebugInfo에 겹침 검증용 필드 추가
    • OverlapPairCount: 일정 임계거리 이하로 포개진 병사 페어 수
    • MinAlivePairDistance: 생존 병사 페어 최소 거리 (페어 없으면 -1)
  • 배럭 디버그 계산 시 생존 병사 쌍 거리 기반으로 값 집계

KingdomAppManager 스모크 회귀 조건 강화

  • RunBarracksMeleeSmokeRegressionAsync()에 겹침 조건 추가
    • 테스트 중 maxOverlapPairCount 추적
    • 종료 판정 시 maxOverlapPairCount <= 0일 때만 성공 카운트
  • 결과 로그에 maxOverlapPairs, minPairDist 출력 추가

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • Unity Play Mode 콘솔:
    • Error 0
    • Warning 0

10) 추가 작업 (유닛 간격 확대)

변경 목표

  • 유닛 간 최소 간격을 더 넓혀 겹침 가능성을 줄임
  • 기존 Config/에셋 값이 낮아도 런타임에서 최소 분리 반경을 강제

코드 반영

  • EnemyConfig.SeparationRadius 기본값: 0.58f
  • HeroConfig.SeparationRadius 기본값: 0.62f
  • EnemyRuntime.DefaultTeamSeparationRadius: 0.58f
  • HeroController.DefaultTeamSeparationRadius: 0.62f
  • BarracksSoldierRuntime.DefaultTeamSeparationRadius: 0.58f
  • EnemyRuntime.ResolveSeparationRadius()에서 Mathf.Max(DefaultTeamSeparationRadius, _config.SeparationRadius) 적용
  • HeroController.ResolveSeparationRadius()에서 Mathf.Max(DefaultTeamSeparationRadius, heroConfig.SeparationRadius) 적용
  • BarracksSoldierRuntime.UpdateMovementSettings()에서 separation radius 최소값 클램프 적용
  • TowerManager 병영 기본/해석값 상향
  • PopulateDefaultData: SoldierSeparationRadius = 0.58f (fallback)
  • ResolveBarracksSeparationRadius: Mathf.Max(0.58f, config.BarracksData.SoldierSeparationRadius)

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

11) 추가 작업 (유닛 간격 2배 상향)

변경 목표

  • 직전 상향값 대비 유닛 간격을 약 2배로 확대하여 겹침 가능성을 추가로 낮춤

코드 반영

  • EnemyConfig.SeparationRadius: 0.58f -> 1.16f
  • HeroConfig.SeparationRadius: 0.62f -> 1.24f
  • EnemyRuntime.DefaultTeamSeparationRadius: 0.58f -> 1.16f
  • HeroController.DefaultTeamSeparationRadius: 0.62f -> 1.24f
  • BarracksSoldierRuntime.DefaultTeamSeparationRadius: 0.58f -> 1.16f
  • TowerManager.BarracksSoldierIdleRadius: 0.58f -> 1.16f
  • TowerManager 병영 separation fallback/min clamp: 0.58f -> 1.16f

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

12) 추가 작업 (적대 팀 간 최소 간격 공통화)

변경 이유

  • 팀 내부 간격은 넓어졌지만, 아군(영웅/병사)과 적의 근접 거리가 여전히 가깝게 보이는 문제 보완

코드 반영

  • BaseUnit.ApplyTeamSeparation(...)를 공통 확장
  • 기존: 같은 팀(other._team == _team)만 분리
  • 변경: 같은 팀 + 적대 팀(IsHostileTo(other)) 모두 분리 계산
  • 적대 팀 분리는 별도 공통 훅으로 제어
  • ResolveHostileSeparationRadius(float friendlySeparationRadius) 추가 (기본값: max(0.38f, friendly * 0.45f))
  • ResolveHostileSeparationWeight() 추가 (기본값: 0.85f)
  • 파생 클래스에서 필요 시 오버라이드 가능

기대 효과

  • 적-적, 아군-아군뿐 아니라 아군-적 간에도 최소 간격이 유지되어 붙어 보이는 현상 완화
  • 분리 로직은 BaseUnit에 공통 집중, 파생 클래스는 호출만 유지

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

13) 추가 작업 (전투 중 제자리 공격 고정)

변경 이유

  • 전투 진입 후에도 분리 보정/미세 이동이 적용되어 밀리는 느낌으로 비정상 방향 이동이 발생

코드 반영

  • EnemyRuntime.HandleTargetInRange(...)에서 전투 중 추적 이동 제거
  • EnemyRuntime.HandleTargetInRange(...)/HandleTargetInRangeWithoutAttack(...)에서 분리 보정 호출 제거
  • HeroController.HandleTargetInRange(...)/HandleTargetInRangeWithoutAttack(...)에서 분리 보정 호출 제거
  • BarracksSoldierRuntime.HandleTargetInRange(...)/HandleTargetInRangeWithoutAttack(...)에서 분리 보정 호출 제거

동작 기준

  • 타겟이 사거리 안(in-range)이면 제자리 공격
  • 타겟이 사거리 밖이면 기존처럼 추적/이동 로직 수행
  • 분리 보정은 이동/추적 단계에서만 적용

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지
  • EnemyRuntime 전투 중 모션 상태를 Attacking으로 고정 (사거리 내 정지 공격 시 Moving 모션 잔존 방지)

14) 추가 작업 (공격 불가 시 이동 전환)

변경 이유

  • 전투 중 in-range 상태에서 공격이 불가능한 동안(주로 쿨다운) 가만히 맞고만 있는 현상 보완

코드 반영

  • EnemyRuntime.HandleTargetInRangeWithoutAttack(...)
  • 기존: 제자리(Attacking 상태 유지)
  • 변경: MoveAlongPath(deltaTime) 호출로 이동 우선
  • HeroController.HandleTargetInRangeWithoutAttack(...)
  • 기존: 제자리 시각 상태 유지
  • 변경: HandleNoTargetOrOutOfRange(target, deltaTime) 호출로 추적/이동 로직 재사용
  • BarracksSoldierRuntime.HandleTargetInRangeWithoutAttack(...)
  • 기존: Blocking 상태 고정
  • 변경: HandleNoTargetOrOutOfRange(target, deltaTime) 호출로 추적/이동 로직 재사용

동작 기준

  • 사거리 내 + 공격 가능: 제자리 공격
  • 사거리 내 + 공격 불가: 이동 로직으로 전환
  • 사거리 밖: 기존 이동/추적 로직 유지

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

15) 추가 작업 (적 공격 불가 구간 타겟 유지 이동)

변경 이유

  • EnemyRuntime에서 공격 불가(in-range) 시 경로 이동으로 복귀하여 타겟과 이탈, 공격이 끊기는 현상 보완

코드 반영

  • EnemyRuntime.HandleTargetInRangeWithoutAttack(...) 수정
  • 기존: MoveAlongPath(deltaTime)
  • 변경: 타겟 기준 MoveTowardsWithStopDistance(...)로 접근 이동
  • target == null일 때만 경로 이동 fallback 유지

기대 효과

  • 적이 쿨다운 중에도 전투 타겟 근처를 유지하며, 쿨다운 종료 시 공격이 다시 정상 이어짐

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

16) 추가 작업 (전투 사거리 판정 2D 통일)

변경 이유

  • 적/아군의 z 오프셋(예: 0 vs -0.5)이 거리 계산에 포함되어 사거리 판정이 과도하게 좁아짐
  • 결과적으로 타겟 근처에서도 공격 루프 진입/유지가 불안정해지는 문제 보완

코드 반영

  • BaseUnit.FindNearestHostile(...) 거리 계산에서 z=0 정규화
  • EnemyRuntime.IsCombatTargetInRange(...) 거리 계산에서 z=0 정규화
  • HeroController.IsCombatTargetInRange(...) 거리 계산에서 z=0 정규화
  • BarracksSoldierRuntime.IsCombatTargetInRange(...) 거리 계산에서 z=0 정규화
  • HeroController의 적 탐색/스킬 범위/leash 관련 거리 계산도 2D 기준으로 통일

기대 효과

  • 시각적으로 붙어 있는 상태에서 사거리 판정이 안정화되어 적 공격 누락 감소
  • 유닛 z-layer 차이에 영향받지 않는 일관된 전투 판정

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

17) 추가 작업 (적 타겟 획득/유지 안정화)

변경 이유

  • 적이 전투 중 타겟을 쉽게 놓치고 경로 이동으로 복귀해 공격이 끊기는 현상 보완

코드 반영

  • EnemyRuntime.ResolveCombatTarget() 개선
  • 공격 사거리 기반으로 acquireRange, keepRange 도입
  • 기존 타겟이 유지 범위 내면 유지, 벗어나면 재탐색
  • 재탐색 범위를 순수 공격 사거리보다 확장
  • EnemyRuntime.HandleNoTargetOrOutOfRange(...) 개선
  • target이 존재/유효하면 경로 복귀 대신 타겟 추적 이동
  • EnemyRuntime.HandleTargetInRangeWithoutAttack(...)는 공통 추적 함수 재사용
  • MoveTowardsCombatTarget(BaseUnit target, float deltaTime) 헬퍼 추가

기대 효과

  • 적이 전투 타겟을 안정적으로 유지하며 쿨다운 이후 공격 루프를 다시 이어감
  • 순간적인 거리 흔들림으로 공격이 영구적으로 끊기는 현상 완화

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

18) 추가 작업 (전투 로직 주석 보강)

목적

  • 최근 수정된 전투/타겟/거리 판정 로직의 의도를 코드에서 바로 이해할 수 있도록 핵심 주석 추가

반영 내용

  • EnemyRuntime
  • 타겟 획득/유지 범위 상수 의도 주석
  • 타겟 유지 vs 재획득 분기 의도 주석
  • 2D(XY) 거리 판정 주석
  • 사거리 내 제자리 공격 정책 주석
  • 공격 불가 시 타겟 유지 이동 정책 주석
  • BaseUnit
  • FindNearestHostile(...)의 2D 거리 계산 의도 주석
  • HeroController, BarracksSoldierRuntime
  • 사거리 판정에서 Z 무시 이유 주석

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지

19) 추가 작업 (적 공격 누락 방지 핫픽스)

변경 이유

  • 일부 상황에서 적이 타겟을 잡지 못해 공격 루프에 진입하지 못하는 문제 보완

코드 반영

  • EnemyRuntime.ResolveCombatTarget()
  • 타겟 필터를 문자열(UnitType) 비교에서 타입 기반(HeroController, BarracksSoldierRuntime)으로 변경
  • 필터 탐색 실패 시 FindNearestHostile(...) fallback 추가 (모든 적대 유닛 대상)
  • EnemyRuntime.CanPerformCombatAttack(...)
  • target.IsAlive 검증 포함하여 공격 가능 조건 보강

기대 효과

  • 적 타겟 획득 누락 케이스 감소
  • 필터 불일치로 인한 '적 공격 안함' 현상 완화

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)는 유지
  • EnemyRuntime.ResolveCombatTarget()에 즉시 교전 반경(attackRange * 1.05) 우선 타겟 선택 추가
  • 현재 타겟 유지 로직보다 가까운 근접 타겟을 우선 스위칭하여, 바로 옆 적대 유닛을 놓치지 않도록 보정
  • 적 타겟 획득/유지 최소 반경 상향
  • acquireRange: 최소 2.8f, keepRange: 최소 3.2f 보장
  • 원거리 영웅 상대로도 적이 전투 진입 타겟을 놓치지 않도록 보정
  • EnemyRuntime.IsCombatTargetInRange(...)에 유효 사거리 여유(1.15x) 적용
  • 거리 경계값 흔들림으로 인한 공격 판정 누락 완화
  • EnemyRuntime.IsCombatTargetInRange(...) 유효 공격 사거리 최소값 추가
  • effectiveRange = max(1.8f, attackRange * 1.15f)로 보정하여 근접/밀집 전투에서 적 공격 발동 안정화

20) 추가 작업 (적 공격 디버그 로그 보강)

변경 이유

  • "적이 공격을 안 하는 것처럼 보인다" 이슈를 콘솔에서 즉시 판별할 수 있도록 적 공격 호출 로그를 강화
  • 기존 [EnemyTrace]가 5초 제한이라 실제 첫 교전 시점 전에 종료될 수 있어 추적이 어려운 문제 보완

코드 반영

  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
  • CombatTraceDurationSec: 5f -> 20f
  • CombatTraceIntervalSec: 0.35f -> 0.5f
  • 실제 공격 발생 시 항상 [EnemyAttack] 로그 출력 추가
    • attacker/target instance id, damage, cooldown 포함

기대 효과

  • 적이 실제로 PerformCombatAttack에 진입하는지 즉시 확인 가능
  • 공격 진입과 무관하게 "안 때리는 것처럼 보이는" 체감 이슈를 로그 기반으로 분리 진단 가능

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

21) 추가 작업 (적 공격 애니메이션 상태 유지 보정)

변경 이유

  • 실제 공격은 정상 발생하지만, 쿨다운 프레임에서 이동 상태가 즉시 덮여 공격 애니메이션이 거의 보이지 않는 문제가 확인됨
  • 콘솔 근거: [EnemyAttack] 로그는 연속 발생, 동시에 [EnemyTrace] motion=Moving 비중이 높음

코드 반영

  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
  • 전투 상태(_motionState)와 시각 상태를 분리
    • ResolveVisualMotionState() 추가
    • _attackVisualHoldLeft > 0이면 시각 상태를 Attacking으로 유지
  • TickVisualAnimation(...)
    • Animator/스프라이트 모두 시각 상태(visualState) 기준으로 모션 반영
  • ShouldLoopCurrentAnimation()
    • _motionState 대신 현재 애니메이션 상태(_animationState) 기준으로 루프 판정
  • HandleTargetInRangeWithoutAttack(...)
    • 쿨다운 중에도 공격 홀드가 남아있으면 모션을 Attacking으로 유지
  • MoveTowardsCombatTarget(...)
    • 모션 상태를 강제로 Moving으로 덮어쓰던 코드 제거

기대 효과

  • 적의 실제 타격 타이밍과 공격 애니메이션 노출 타이밍이 일치
  • 근접 교전에서 공격 후 모션이 즉시 걷기로 튀는 현상 완화

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

22) 추가 작업 (공격 타이밍/상태 전환 규칙 적용)

적용 규칙

  • 공격 데미지는 공격 애니메이션이 끝나는 순간 적용
  • 공격 상태에서는 이동하지 않음
  • 공격 상태에서 다음 상태(이동/추적/유지) 전환은 공격 애니메이션 종료 후에만 허용

코드 반영

  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
    • 공격 대기 상태 필드 추가: _pendingAttackTarget, _pendingAttackDamage, _isAttackPending
    • PerformCombatAttack는 즉시 데미지 대신 공격 시작(윈드업)만 수행
    • CommitPendingAttack에서 애니메이션 종료 시점 데미지 확정 + 쿨다운 시작
    • 공격 대기/공격 홀드 중 HandleTargetInRangeWithoutAttack, HandleNoTargetOrOutOfRange에서 이동 차단
  • Assets/Scripts/Kingdom/Game/HeroController.cs
    • 동일한 공격 대기 상태/커밋 구조 적용
    • 영웅 액티브 스킬 트리거도 데미지 커밋 시점으로 이동
    • 공격 대기 중 이동 로직 진입 차단
  • Assets/Scripts/Kingdom/Game/BarracksSoldierRuntime.cs
    • 동일한 공격 대기 상태/커밋 구조 적용
    • 공격 대기/홀드 중 이동 차단, 블로킹 상태 유지

기대 효과

  • 타격 판정과 애니메이션 노출 타이밍 일치
  • 공격 중 밀리듯 이동하는 체감 제거
  • 공격 종료 전 상태 전환 방지로 전투 가독성 개선

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

23) 추가 작업 (유닛 분리/밀어내기 적용 범위 제한)

변경 이유

  • 전투 중 이종 타입(적 vs 영웅/병사) 간에 밀어내기까지 발생해 교전 자세가 흔들리는 체감이 발생
  • 요청사항: 같은 타입 그룹끼리만 분리 적용
    • 적은 적끼리
    • 영웅/배럭병사는 아군끼리
    • 적 vs 아군은 분리 미적용

코드 반영

  • Assets/Scripts/Kingdom/Game/BaseUnit.cs
  • ApplyTeamSeparation(...) 로직에서 적대 팀(hostile) 분기 제거
  • 동일 팀(sameTeam)에 대해서만 분리 push 계산 적용
  • 주석 추가: 분리 대상은 같은 팀 그룹 한정

기대 효과

  • 적과 영웅(또는 병사)이 서로 밀어내며 흔들리는 현상 완화
  • 근접 교전에서 접촉/타격 자세가 더 안정적으로 유지

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

24) 추가 작업 (검증 단계 정리: 1 완료 / 2 패스 / 3 진행)

처리 결과

  • 1번(실플레이 회귀 확인): 완료 처리
  • 2번(타격 타이밍 미세보정): 요청에 따라 패스
  • 3번(디버그 로그 정리): 진행 완료

코드 반영 (로그 정리)

  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
  • 임시 디버그 로깅 제거
    • 제거: [EnemyTrace], [EnemyAttack]
    • 제거: CombatTrace* 상수/필드/메서드
    • 제거: 타겟 변경/틱/공격 로그 호출
  • 전투 동작 로직(공격 대기/타이밍/상태 전환)은 유지

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

25) 추가 작업 (다음작업 2/3 처리)

상태 정리

  • 1번(회귀 확인): 사용자 요청으로 완료 처리 (실행 검증은 미수행)
  • 2번(전투 코드 정리): 완료
  • 3번(워킹트리 정리): 완료

코드 정리 반영

  • Assets/Scripts/Kingdom/Game/BaseUnit.cs
  • 같은 팀 분리 정책으로 전환 후 미사용 잔여 훅 제거
    • 삭제: ResolveHostileSeparationRadius(...)
    • 삭제: ResolveHostileSeparationWeight(...)

워킹트리 정리 반영

  • 복원: .kilocode/mcp.json
  • 복원: 0.0.0a0

검증

  • dotnet build Assembly-CSharp.csproj -nologo: 오류 0
  • 기존 경고(MSB3277, CS0649)만 유지

26) 최종 플레이 검증 완료

  • 확인 일자: 2026-02-28
  • 확인 주체: 사용자 실플레이
  • 결과: 체크리스트 항목(공격중 이동 금지 / 애니메이션 종료 타격 / 공격 종료 후 상태전환 / 같은 팀 분리 정책) 확인 완료
반응형