BPC_ReloadSystem — Actor Component
File: Content/Framework/Weapons/BPC_ReloadSystem
Parent Class: UActorComponent
Dependencies: DA_WeaponData, BPC_FirearmSystem, BPC_AmmoResourceSystem
Purpose: Manages reload animations, timing, and ammo transfer from pool to weapon magazine. Supports tactical reload, partial reload, and reload interruption.
Variables
| Name |
Type |
Description |
bIsReloading |
Bool |
Reload in progress |
ReloadMontage |
AnimMontage |
Per-weapon reload animation |
AmmoTypeTag |
GameplayTag |
Which ammo pool to draw from |
bPartialReload |
Bool |
Whether partial reload is supported |
RoundsToAdd |
Integer |
How many rounds to transfer on reload complete |
Functions / Events
| Name |
Inputs |
Outputs |
What it does |
RequestReload |
— |
— |
Player presses reload; checks if reload needed |
BeginReload |
— |
— |
Plays reload montage, locks fire input |
CompleteReload |
— |
— |
Transfers ammo from pool to magazine |
InterruptReload |
— |
— |
Cancels reload, retains partial rounds if configured |
CanReload |
— |
Bool |
Checks magazine not full AND ammo pool has rounds |
Event Dispatchers
| Name |
Parameters |
Fired when |
OnReloadStarted |
— |
Reload begins |
OnReloadCompleted |
RoundsAdded: Integer |
Reload finishes successfully |
OnReloadInterrupted |
RoundsAdded: Integer |
Reload cancelled mid-way |
OnReloadFailed |
— |
Cannot reload (full mag or no ammo) |
Blueprint Flow
Communications With
| Target System |
Method |
Why |
BPC_FirearmSystem |
Direct LockFire / UnlockFire |
Prevent firing during reload |
BPC_AmmoResourceSystem |
Direct ConsumeAmmo |
Draw rounds from ammo pool |
ABP_PlayerBody |
Animation Notify events |
Reload animation timing |
Reuse Notes
- ReloadMontage from DA_WeaponData per weapon; swap for each weapon type
- Partial reload enabled per weapon (e.g. shotguns use individual shell reloads)
- AmmoTypeTag links to correct ammo pool in BPC_AmmoResourceSystem