Files
RuinAdventurer/Scripts/Gameplay/Crafting/Item.cs
T

36 lines
938 B
C#

public class Item
{
public ItemData data;
public int currentAmount = 0;
public double elapsedCraftTime = 0;
public int amountCrafted = 0;
public CraftingResult Craft(int amount, double delta)
{
elapsedCraftTime += delta;
if (elapsedCraftTime >= data.CraftTime)
{
elapsedCraftTime -= data.CraftTime;
if (!GameData.inventory.AddItem(this, 1))
{
return CraftingResult.FAILED;
}
foreach (Ingredient ingredient in data.Inputs)
{
GameData.inventory.RemoveItem(ingredient.Item, ingredient.Amount);
}
amountCrafted++;
if (amountCrafted >= amount)
{
amountCrafted = 0;
elapsedCraftTime = 0;
return CraftingResult.FINISHED;
}
}
return CraftingResult.CRAFTING;
}
}