Loading...
잠시만 기다려 주세요.
WeaponStateMachine 스크립트는 WeaponController에 대한 참조를 관리하여 모든 하위 상태 스크립이 컨트롤러에 쉽게 접근할 수 있도록 합니다. 🔗WeaponState는 모든 개별 무기 상태 스크립의 기본 클래스로, 컨트롤러 참조를 자동으로 상속받아 코드 재사용성을 높입니다. 🏗️WeaponController는 StateChart 노드와 current_ammo 변수를 포함하며, 무기 리소스에서 max_ammo를 가져와 초기화합니다. 📊can_fire() 및 fire_weapon() 함수는 무기 컨트롤러 내에서 탄약 상태를 확인하고 발사 로직을 처리하여 상태 스크립과 로직을 분리합니다. 🔫IdleState는 발사 입력과 탄약 유무를 감지하여 on_firing 또는 on_empty 이벤트로 상태 전환을 지시합니다. 🚦FiringState는 진입 시 fire_weapon()을 호출하고, 발사 후 탄약 상태에 따라 on_empty 또는 on_idle로 전환하여 연속 발사 또는 탄약 고갈을 처리합니다. 🔥EmptyState는 탄약이 고갈되었을 때 진입하는 상태로, 현재는 추가 로직 없이 다음 단계(재장전 등)를 위한 기반 역할을 합니다. 🗑️StateChart의 루트는 반드시 Compound State여야 하며, 초기 상태(예: Idle)를 설정해야 상태 전환이 올바르게 작동합니다. ⚙️StateChart의 시그널(예: _entered, _processing, )을 각 상태 스크립의 해당 메서드에 연결하여 상태 머신의 동작을 활성화합니다. 🔌_physics_processingRecommanded Videos

2025. 4. 8.

2025. 1. 30.

2025. 12. 13.

2023. 8. 11.

2024. 9. 24.

2025. 11. 18.