Right now the steps to get a squadron on the table are parse file, build Squadron and put in factory instance, request new Squadron, build copy of Squadron.
It would be nice if the interim ship/squadron had its own simple class, basically serving as a data holder. Then when a "real" instance is requested we build the Ship or Squadron instance. This would have the benefit of not needing to preprocess tons of things for entities not being used in a game. Looking specifically at some Hullzone generation logic and maneuver chart stuff coming down the pipeline.
It would also be beneficial because it will separate the concerns or uses of the different constructors and make code a little clearer.
Potential Solutions
A halfway class, maybe recycle ProtoShip.
We could also just make a map of pre-validated values and then reference that (likely with some casting) as we build a real instance.
Potential Tasks
What does it take to call this issue complete?
[ ] Don't have a pair of similar constructors, and don't have as convoluted a path to get an entity on the table
Requirements
Right now the steps to get a squadron on the table are parse file, build Squadron and put in factory instance, request new Squadron, build copy of Squadron.
It would be nice if the interim ship/squadron had its own simple class, basically serving as a data holder. Then when a "real" instance is requested we build the Ship or Squadron instance. This would have the benefit of not needing to preprocess tons of things for entities not being used in a game. Looking specifically at some Hullzone generation logic and maneuver chart stuff coming down the pipeline.
It would also be beneficial because it will separate the concerns or uses of the different constructors and make code a little clearer.
Potential Solutions
A halfway class, maybe recycle ProtoShip.
We could also just make a map of pre-validated values and then reference that (likely with some casting) as we build a real instance.
Potential Tasks
What does it take to call this issue complete?