Example #1
0
    private bool CheckInputConditions()
    {
        Dictionary <UseableEntityData, int> inputAmountPairs = new Dictionary <UseableEntityData, int>();

        foreach (UseableEntity entity in inputEntities)
        {
            UseableEntityData data = entity.GetData();

            if (inputAmountPairs.ContainsKey(data))
            {
                inputAmountPairs[data] += 1;
            }
            else
            {
                inputAmountPairs.Add(data, 1);
            }
        }

        //if any input item missing or the amount smaller than needed : return false
        foreach (ProcessInputData inputItem in Data.input)
        {
            if (!inputAmountPairs.ContainsKey(inputItem.entity) || inputAmountPairs[inputItem.entity] < inputItem.amountMin)
            {
                return(false);
            }
        }

        return(true);
    }
Example #2
0
    public UseableEntityData GetData()
    {
        if (data == null)
        {
            data = Game.UseableEntityDataHandler.GetData(type);
        }

        return(data);
    }
Example #3
0
 public UseableEntity(UseableEntityData data)
 {
     this.data = data;
     type      = data.type;
 }