Player* PlayerFactory::create(const std::string& playerClass) { mPlayer = new Player(); mCharStats = mExe.getCharacterStat(playerClass); if(playerClass == "Warrior") { createWarrior(); } else if(playerClass == "Rogue") { createRogue(); } else { createSorcerer(); } mPlayer->setStats(mStats); mStats->setActor(mPlayer); mPlayer->mInventory.collectEffects(); mStats->recalculateDerivedStats(); return mPlayer; }
Player* PlayerFactory::create(World& world, const std::string& playerClass) const { auto charStats = mExe.getCharacterStat(playerClass); auto player = new Player(world, charStats); if (playerClass == "Warrior") createWarrior(player); else if (playerClass == "Rogue") createRogue(player); else createSorcerer(player); return player; }
Player* PlayerFactory::create(const std::string& playerClass) const { auto charStats = mExe.getCharacterStat(playerClass); auto player = new Player(playerClass, charStats); if(playerClass == "Warrior") createWarrior(player); else if(playerClass == "Rogue") createRogue(player); else createSorcerer(player); player->mInventory.collectEffects(); return player; }