#pragma once #include #include "CharClass.h" using namespace CharClass; class CharacterFactory { public: CharacterFactory(std::string name, CharClass::Enum myFirstClass, CharClass::Enum mySecondClass); ~CharacterFactory(void); private: CharClass::Enum currentClass; Character myCharacter; CharacterArgs CharacterArgs; } --------------------------------------------------------------------------- #include "CharacterFactory.h" #include "Character.h" #include "Mage.h" #include "Warrior.h" #include "Rogue.h" #include "CharClass.h" #include "CharacterArgs.h" #include using namespace CharClass; CharacterFactory::CharacterFactory(std::string name_, CharClass::Enum myFirstClass_, CharClass::Enum mySecondClass_) { for (int i = 1; i <= 2; i++) { if (i == 1) currentClass = myFirstClass_; else currentClass = mySecondClass_; CharacterArgs = new CharacterArgs(name_); switch (currentClass) { case CharClass::Warrior: { myCharacter = new Warrior(CharacterArgs); } case CharClass::Mage: { myCharacter = new Mage(CharacterArgs); } case CharClass::Rogue: { myCharacter = new Rogue(CharacterArgs); } default: return null; } } } CharacterFactory::~CharacterFactory(void) { }