
| 기능 | 입력 키 | 설명 |
|---|---|---|
| 무기 전환 | 0, 1, 2 | Pistol, Shotgun, Rifle로 전환 |
| 격발 | Left Mouse Button | 탄약 감소 + 온도 상승 |
| 재장전 | R | 무기 별 최대 탄약으로 리셋 |
| 수동 쿨다운 | T | 온도 -10도 (0도 이하 방지) |

NewWeapon[CurrentWeaponIndex] 배열 인덱스를 기반으로 무기 구조체를 가져옵니다.Break해서 BulletCount, CurrentTemperature, CurrentHeatState 등을 분리합니다.BulletCount)이 0보다 큰가?CurrentHeatState)가 Over가 아닌가?AND로 연결한 후 Branch로 분기합니다.Over) 상태라면, "Warning: Overheat!" 메시지를 출력하고 종료합니다.BulletCount - 1)CurrentTemperature + 1)Clamp(0~100)으로 제한하여 비정상 수치를 방지합니다.Weapon 구조체를 생성Set Array Elem 노드를 사용하여 NewWeapon[CurrentWeaponIndex]에 덮어쓰기Print String으로 출력
NewWeapon[CurrentWeaponIndex]를 이용해 현재 무기 구조체를 가져옵니다.Break Weapon으로 분리하여 온도, 탄약, 이름 등 정보 사용.CurrentTemperature != 0 조건 확인"ZeroTemp" 메시지를 출력하고 종료.Clamp 노드를 사용해 최소값을 0으로 제한합니다.Set Array Elem으로 NewWeapon[CurrentWeaponIndex]에 덮어쓰기Set HeatState 함수 등을 통해 현재 무기의 열 상태도 변수에 반영"Cooldown!" 메시지와 함께 현재 온도를 Print String으로 출력
현재 무기 정보 가져오기
NewWeapon[CurrentWeaponIndex]를 통해 현재 무기를 가져옵니다.WeaponName)을 기준으로 Switch on Name으로 분기합니다.PistolShotgunRifle탄약 최대치 비교 및 분기
BulletCount가 이미 최대치인지 비교합니다."Already Full" 메시지 출력 후 종료탄약 수 갱신
BulletCount만 갱신하여 Make Weapon 생성Set Array Elem 노드로 NewWeapon[CurrentWeaponIndex]에 덮어쓰기디버깅 메시지 출력
"Reload" 메시지 출력Print String으로 확인
숫자 키 입력 처리
Keyboard 0 → CurrentWeaponIndex = 0 (Pistol)Keyboard 1 → CurrentWeaponIndex = 1 (Shotgun)Keyboard 2 → CurrentWeaponIndex = 2 (Rifle)무기 정보 가져오기
NewWeapon[CurrentWeaponIndex]를 통해 현재 선택된 무기의 구조체를 가져옴Break Weapon으로 탄약, 온도, 상태, 이름 등을 개별적으로 추출무기 상태 출력
BulletCount, CurrentTemperature, CurrentHeatState 값을 각각 ToString 처리Append 노드로 문장을 구성 (예: "🔫 Ready! | Bullet: 8 | State: High")Print String으로 화면에 2초간 표시
현재 무기 정보 가져오기
NewWeapon[CurrentWeaponIndex]로 현재 무기 구조체를 가져옵니다.CurrentTemperature 값을 기준으로 열 상태를 판단합니다.조건 분기 (온도 검사)
CurrentTemperature > 70 → HeatState = OverCurrentTemperature > 30 → HeatState = HighHeatState = NormalHeatState 값 업데이트
HeatState를 사용해 새 구조체를 Make Weapon으로 생성Set Array Elem을 사용해 NewWeapon[CurrentWeaponIndex]에 저장현재 상태 출력
Enum to String으로 열거형 상태를 문자열로 변환Print String으로 화면에 상태 출력 (Duration 2.0초)