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); }
public UseableEntityData GetData() { if (data == null) { data = Game.UseableEntityDataHandler.GetData(type); } return(data); }
public UseableEntity(UseableEntityData data) { this.data = data; type = data.type; }