Associate Ammo with Weapon?

Interesting idea. Your new class, so called “Sniper” can inherit from Weapon to have virtual function SecondaryFire(). Yet with my experimental approach, I think you can try to make SecondaryFire as object. In my thoughts, Let’s make the weapon class as AActor class and make Primary Fire / Secondary Fire from Actor-Component. Thus you can attach those components (Fire styles) to an weapon. If you ever want to implement Zoom in function from Sniper’s secondary fire, just make the “zoom in” as an object which can be inherited from Secondary Fire Object(or component). But… there is problem from that approach, which causes some problem (possibly newbie mistake) in my project. For myself, I have no idea how ticks in component can start as I want. If you ever need to use tick from component as your demand… I may need help about it too. But for experimental data structure, I think implementing those Fire Style as separate objects, might be interesting approach by further maintenance in my opinion. Well… I am newbie though… I hope you like it.