From a5fcab0cfe9385baa931104d9a4dca98b391c1f2 Mon Sep 17 00:00:00 2001 From: swrring Date: Mon, 18 May 2026 15:19:55 +0900 Subject: [PATCH] =?UTF-8?q?fix(BT12-Dev-Clone=20=CE=B2):=20CS0070=20event?= =?UTF-8?q?=20=EC=99=B8=EB=B6=80=20invoke=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OnPlayerSkillFired event 영역 외부 클래스 .Invoke() 직접 호출 불가 (C# event 의미 영역): - PlayerSkillInventory: RaisePlayerSkillFired(runtime) public 메서드 추가 — 내부 OnPlayerSkillFired?.Invoke 영역 캡슐화 - ActiveSkillRuntime.Fire: _inventory.OnPlayerSkillFired?.Invoke(this) → _inventory.RaisePlayerSkillFired(this) 정정 본 PM 자성 #4 (C39-10 누적·feedback_new_code_existing_system_dependency_unmeasured 4회차): - #1 CloneInstance namespace 추정 (Events 부재) - #2 asmdef autoReferenced 영역 추정 (main reference 자동 X) - #3 asmdef 메커니즘 사전 동작 검증 X (default assembly 격리) - #4 C# event 외부 invoke 불가 영역 사전 실측 X CloneInstance 영역 += -= 영역 정합 (구독·해제) — 정정 대상 X --- Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs | 3 ++- Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs b/Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs index 27e404b..70242de 100644 --- a/Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs +++ b/Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs @@ -97,8 +97,9 @@ namespace EerieVillage.Skills // BT12-Dev-Clone (2026-05-15) — A10 분신 hook 발화 // IsCloneFireActive 분기 — 분신 발동 시 OnPlayerSkillFired 발화 X (무한 재귀 방지) + // fix 2026-05-18: event 외부 .Invoke() 불가 (CS0070) → RaisePlayerSkillFired public 메서드 경유 if (_inventory != null && !_inventory.IsCloneFireActive) - _inventory.OnPlayerSkillFired?.Invoke(this); + _inventory.RaisePlayerSkillFired(this); } /// diff --git a/Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs b/Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs index c2dedca..51216ed 100644 --- a/Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs +++ b/Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs @@ -63,6 +63,16 @@ namespace EerieVillage.Skills /// PD 결정 (2026-05-15) — 분신 damage multiplier. 50% 반감. internal const float CLONE_DAMAGE_MULTIPLIER = 0.5f; + /// + /// OnPlayerSkillFired 외부 invoke 영역 (BT12-Dev-Clone 2026-05-18 fix). + /// C# event 영역 외부 클래스 영역 .Invoke() 직접 호출 불가 (CS0070) 영역 fix. + /// ActiveSkillRuntime.Fire 영역 본 메서드 호출 → 분신 hook 발화. + /// + public void RaisePlayerSkillFired(ActiveSkillRuntime runtime) + { + OnPlayerSkillFired?.Invoke(runtime); + } + /// /// 스킬 발동 anchor 위치 반환 (BT12-Dev-Clone 2026-05-15 γ 단계). /// IsCloneFireActive=true → 분신 위치 (CloneFireOrigin) · false → Player 위치.