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; }
/** * @fn void createRandomClass(). * @brief Attribut aux variables de la @class Classes Classes.hpp les points correspondant à une classe aléatoire. * * @param * @return */ void Classes::createRandomClass(){ std::srand((unsigned int)std::time(0)); int rdmVar = (std::rand() % 6) + 1; if(rdmVar == 1){ createPaladin(); } else if(rdmVar == 2){ createWarrior(); } else if(rdmVar == 3){ createMage(); } else if(rdmVar == 4){ createHunter(); } else if(rdmVar == 5){ createThief(); } else{ createPriest(); } }