I'm sure there's been questions like this asked, but I simply could not find them. I was probably using the wrong words, and if so, a point in the right direction would be awesome and I will just delete this question.
Anyway, I am making my first 'larger' project and I now have a plethora of files that need to be included into other files for the project to function. The problem is that including all these files looks extremely messy and could lead to unneeded includes/bugs. For example of what I mean;
Say I have a class called Spell in a file called Spell.h & Spell.cpp that holds general information for all spells (mana cost, cast time, ect) and then a bunch of different specific spells that inherit from the Spell class, all in their own separate files. I need to include these spells in the Enemy and Character class so that they can have a list of usable spells, but to do so would mean I need to individually include each specific spell I need. That sounds tedious and gross.
I'm wondering if theres a way that I can simple call something like '#include "AllSpells.h"' or '#include "CharacterSpells.h"' that will then include all the files I want included.
I know I could create an empty class that includes the needed specific spells and just include that class instead (e.g. have a class called AllSpells that #includes every specific spell) but that also sounds bad.
It seems like a pretty common thing to do, and as such it would make sense that there is a 'best' or list of 'best' ways to do such a thing. Thanks so much for any advice here.