39 lines
732 B
C
39 lines
732 B
C
|
#pragma once
|
||
|
|
||
|
#include "cItem.h"
|
||
|
|
||
|
class cRecipeChecker
|
||
|
{
|
||
|
public:
|
||
|
static cRecipeChecker * GetRecipeChecker();
|
||
|
|
||
|
// Grid of cItems of a_Width width and a_Height Height
|
||
|
cItem CookIngredients( cItem* a_Items, int a_Width, int a_Height, bool a_bConsumeIngredients = false );
|
||
|
|
||
|
struct RecipeSlot
|
||
|
{
|
||
|
cItem Item;
|
||
|
int x, y;
|
||
|
};
|
||
|
|
||
|
struct Recipe
|
||
|
{
|
||
|
Recipe() : Slots( 0 ), NumItems( 0 ) {}
|
||
|
~Recipe();
|
||
|
RecipeSlot* Slots; // Array of RecipeSlots
|
||
|
unsigned int NumItems;
|
||
|
cItem Result;
|
||
|
};
|
||
|
|
||
|
void ReloadRecipes();
|
||
|
static void DeleteMe();
|
||
|
private:
|
||
|
friend class cRoot;
|
||
|
cRecipeChecker();
|
||
|
~cRecipeChecker();
|
||
|
|
||
|
struct sRecipeCheckerState;
|
||
|
sRecipeCheckerState* m_pState;
|
||
|
|
||
|
void ClearRecipes();
|
||
|
};
|