Is casting then calling events the best way to handle multiple possible objects

I am new to unreal so i apologize if i’m missing something fundamental. I currently am working on a weapon & inventory system for a FPS game. The inventory is an actor component attached to the character this inventory has a variable that is an array of Equipment Actors. The Equipment blueprint has a child named Equipment_Weapon which has some info/functions for weapons and Equipment_Weapon has various children for different weapons with their particular events and functions. Currently in order to call the fire event on the current weapon my player is holding i need to cast the current weapon to the blueprint for the particular weapon.

So my problem moving forward is that i’m unsure if it’s OK to have a bunch of attempted casts until it hits the right weapon. So i would appreciate feedback on if i am doing this right or i am completely missing something. Thanks!