2 #ifndef WORLDSIM_RECIPE_HPP 3 #define WORLDSIM_RECIPE_HPP 90 return "Generic recipe";
102 std::cout<<
"Item_Plank\n";
108 return "Wooden Wall";
121 return (vPlank.size()/2);
134 std::cout<<
"Item_Fish\n";
140 return "Grilled fish";
147 std::cout<<
"Addfish\n";
153 std::cout<<
"FISH: "<<vFish.size()<<
"\n";
170 std::cout<<
"Pelts\n";
176 return "Leather clothes";
183 std::cout<<
"Add pelt\n";
189 std::cout<<
"PELTS: "<<vPelt.size()<<
"\n";
209 std::cout<<
"Pelts\n";
222 std::cout<<
"Add pelt\n";
228 std::cout<<
"PELTS: "<<vPelt.size()<<
"\n";
260 std::cout<<
"Adding log shelt\n";
266 std::cout<<
" log shelt\n";
268 return vInput.size();
298 vRecipe.push(_recipe);
303 std::cout<<
"Adding item\n";
307 std::cout<<
"Adding plank\n";
312 std::cout<<
"adding fish\n";
313 recipeGrilledFish.
countUp(_item);
317 recipeLeatherClothes.
countUp(_item);
318 recipeWaterskin.
countUp(_item);
322 std::cout<<
"adding log\n";
323 recipeLogShelter.
countUp(_item);
329 return recipeGrilledFish.
getTotal();
330 return recipeLeatherClothes.
getTotal();
340 vValidList.push(&recipeWall);
342 if ( recipeGrilledFish.
getTotal() > 0 )
344 vValidList.push(&recipeGrilledFish);
346 if ( recipeLeatherClothes.
getTotal() > 0 )
348 vValidList.push(&recipeLeatherClothes);
350 if ( recipeWaterskin.
getTotal() > 0 )
352 vValidList.push(&recipeWaterskin);
354 if ( recipeLogShelter.
getTotal() > 0 )
356 vValidList.push(&recipeLogShelter);
363 if (vValidList.isSafe(_index))
365 std::cout<<
"Making: "<<vValidList(_index)->getName()<<
".\n";
366 vValidList(_index)->make(_character);
372 std::string sPrerequisites =
"";
373 for (
int i=0;i<recipeGrilledFish.
vInput.size();++i)
375 sPrerequisites+=recipeGrilledFish.
vInput(i)->getName();
377 return sPrerequisites;
virtual int canUse(Item *)
Definition: Recipe.hpp:65
virtual void countUp(Item_Log *)
Definition: Recipe.hpp:77
Definition: WorldObject.hpp:18
virtual void countUp(Item_Plank *_plank) override
Definition: Recipe.hpp:113
Vector< Item_DeerPelt * > vPelt
Definition: Recipe.hpp:166
virtual void make(Character *)
Definition: Recipe.hpp:81
virtual void countUp(Item *_item) override
Definition: Recipe.hpp:257
virtual void countUp(WorldObject *_object) override
Definition: Recipe.hpp:111
virtual std::string getName()
Definition: Recipe.hpp:88
virtual void countUp(WorldObject *)
Definition: Recipe.hpp:74
Vector< Item_Log * > vInput
Definition: Recipe.hpp:244
virtual void countUp(WorldObject *_object) override
Definition: Recipe.hpp:179
Vector< Recipe * > vValidList
Definition: Recipe.hpp:285
Vector< Item_DeerPelt * > vPelt
Definition: Recipe.hpp:205
virtual int getTotal() override
Definition: Recipe.hpp:118
int getTotals()
Definition: Recipe.hpp:326
virtual int getTotal() override
Definition: Recipe.hpp:187
virtual std::string getName() override
Definition: Recipe.hpp:213
virtual void countUp(Item_Fish *_plank) override
Definition: Recipe.hpp:145
Recipe_GrilledFish recipeGrilledFish
Definition: Recipe.hpp:158
Recipe_Wall recipeWall
Definition: Recipe.hpp:124
virtual int canUse(Item_Fish *_object) override
Definition: Recipe.hpp:132
Item * output
Definition: Recipe.hpp:49
Vector< Recipe * > vRecipe
Definition: Recipe.hpp:289
Vector< WorldObject * > vInput
Definition: Recipe.hpp:48
Definition: Recipe.hpp:278
virtual void countUp(Item_DeerPelt *)
Definition: Recipe.hpp:79
virtual void countUp(Item_Plank *)
Definition: Recipe.hpp:76
virtual int canUse(Item_DeerPelt *)
Definition: Recipe.hpp:69
virtual void countUp(Item_DeerPelt *_input) override
Definition: Recipe.hpp:181
Recipe()
Definition: Recipe.cpp:14
Definition: Recipe.hpp:201
virtual int canUse(Item_DeerPelt *_object) override
Definition: Recipe.hpp:168
virtual void countUp(Item_Fish *)
Definition: Recipe.hpp:78
Definition: Recipe.hpp:44
Vector< Item_Fish * > vFish
Definition: Recipe.hpp:130
virtual void countUp(WorldObject *_object) override
Definition: Recipe.hpp:256
virtual int getTotal() override
Definition: Recipe.hpp:151
virtual int getTotal() override
Definition: Recipe.hpp:226
virtual int canUse(Item_Log *_object) override
Definition: Recipe.hpp:246
virtual std::string getName() override
Definition: Recipe.hpp:138
void addToRecipes(Item *)
Definition: Recipe.hpp:301
void addToRecipes(Item_Plank *_item)
Definition: Recipe.hpp:305
virtual int canUse(Item_Plank *_object) override
Definition: Recipe.hpp:100
Recipe_LogShelter recipeLogShelter
Definition: Recipe.hpp:274
virtual void countUp(Item *)
Definition: Recipe.hpp:75
virtual int getTotal()
Definition: Recipe.hpp:83
Definition: Recipe.hpp:240
virtual int canUse(Item_Log *)
Definition: Recipe.hpp:67
void addToRecipes(Item_DeerPelt *_item)
Definition: Recipe.hpp:315
Vector< Recipe * > * getValidRecipes()
Definition: Recipe.hpp:335
Recipe_LeatherClothes recipeLeatherClothes
Definition: Recipe.hpp:197
void makeRecipe(Character *_character, int _index)
Definition: Recipe.hpp:361
Definition: Character.hpp:38
Definition: Recipe.hpp:162
virtual void countUp(WorldObject *_object) override
Definition: Recipe.hpp:218
void addToRecipes(Item_Log *_item)
Definition: Recipe.hpp:320
virtual void countUp(WorldObject *_object) override
Definition: Recipe.hpp:143
Definition: Recipe.hpp:126
virtual void countUp(Item *_item) override
Definition: Recipe.hpp:180
int canUse(Item_Plank *_object)
Definition: Recipe.hpp:291
void addRequirement(WorldObject *_object, int count, bool isConsumed)
Definition: Recipe.cpp:23
Recipe_Waterskin recipeWaterskin
Definition: Recipe.hpp:236
virtual int canUse(Item_DeerPelt *_object) override
Definition: Recipe.hpp:207
virtual void countUp(Item *_item) override
Definition: Recipe.hpp:219
std::string getPrerequisites()
Definition: Recipe.hpp:370
virtual std::string getName() override
Definition: Recipe.hpp:251
void addRecipe(Recipe *_recipe)
Definition: Recipe.hpp:296
virtual void countUp(Item *_item) override
Definition: Recipe.hpp:112
virtual int canUse(Item_Fish *)
Definition: Recipe.hpp:68
int y
Definition: Recipe.hpp:282
virtual int canUse(WorldObject *)
Definition: Recipe.hpp:62
Definition: Recipe.hpp:95
~Recipe()
Definition: Recipe.cpp:19
virtual void countUp(Item *_item) override
Definition: Recipe.hpp:144
Vector< Item_Plank * > vPlank
Definition: Recipe.hpp:98
RecipeManager recipeManager
Definition: Recipe.hpp:395
virtual int getTotal() override
Definition: Recipe.hpp:264
virtual std::string getName() override
Definition: Recipe.hpp:106
virtual void countUp(Item_DeerPelt *_input) override
Definition: Recipe.hpp:220
virtual int canUse(Item_Plank *)
Definition: Recipe.hpp:66
virtual std::string getName() override
Definition: Recipe.hpp:174
void addToRecipes(Item_Fish *_item)
Definition: Recipe.hpp:310
virtual void countUp(Item_Log *_input) override
Definition: Recipe.hpp:258