"""AN_SimpleSendEvent 노티파이 구조 확인"""
import json

# AnimMontage.json 로드
with open('../../원본데이터/AnimMontage.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

assets = data.get('Assets', [])
print(f"총 AnimMontage Assets: {len(assets)}\n")

# 문제가 되는 스킬들의 몽타주 찾기
target_skills = {
    'SK130301': '바란 일격분쇄',  # Event.SkillActivate
    'SK150201': '클라드 다시 흙으로',  # Event.SkillActivate
    'SK190201': '리옌 연화',  # Event.SpawnProjectile
    'SK190101': '리옌 정조준',  # ProjectileShot
}

# 각 스킬 몽타주에서 SimpleSendEvent 찾기
print("=== SimpleSendEvent 노티파이 검색 ===\n")

for asset in assets:
    asset_name = asset.get('AssetName', '')

    # 해당 스킬 ID가 AssetName에 포함되어 있는지 확인
    for skill_id in target_skills.keys():
        if skill_id in asset_name:
            print(f"[{skill_id}] {target_skills[skill_id]}")
            print(f"  몽타주: {asset_name}")

            # AnimNotifies 확인
            notifies = asset.get('AnimNotifies', [])
            print(f"  총 노티파이: {len(notifies)}개\n")

            for idx, notify in enumerate(notifies):
                notify_class = notify.get('NotifyClass', '')

                # SimpleSendEvent 노티파이 찾기
                if 'SimpleSendEvent' in notify_class:
                    print(f"  [{idx}] SimpleSendEvent 발견!")
                    print(f"      NotifyClass: {notify_class}")
                    print(f"      노티파이 키: {list(notify.keys())}")

                    # CustomProperties 확인
                    if 'CustomProperties' in notify:
                        custom_props = notify['CustomProperties']
                        print(f"      CustomProperties 타입: {type(custom_props)}")
                        print(f"      CustomProperties 내용:")
                        if isinstance(custom_props, dict):
                            for k, v in custom_props.items():
                                print(f"        - {k}: {v}")
                        else:
                            print(f"        {custom_props}")
                    print()

                # ProjectileShot 노티파이도 확인 (SK190101)
                if 'ProjectileShot' in notify_class or 'Projectile' in notify_class:
                    print(f"  [{idx}] Projectile 노티파이 발견!")
                    print(f"      NotifyClass: {notify_class}")
                    print()

            print("-" * 60)
            print()
