public void CheckItemAdd(CraftingResources resource, int amount) { var itemList = GetItemList(); foreach (var item in itemList) { Debug.Log(item.Resource); } Debug.Log("Resource: " + resource + " - amount: " + amount); var foundRequest = itemList.FirstOrDefault(i => i.Resource == resource); // Check if we have current request for this resource if (foundRequest != null) { if (!_currentRequestData.ContainsKey(resource)) { var craftingRequest = new TakenCraftingResourceRequest { Request = foundRequest, CurrentAmount = amount }; _currentRequestData.Add(resource, craftingRequest); } else { _currentRequestData[resource].AddAmount(amount); } if (_currentRequestData[resource].Complete) { requestRecord.CompleteRequest(this, _currentRequestData[resource].Request); _currentRequestData.Remove(resource); } requestSystem.Refresh(); } }
public float[] GetSenses() { var resources = CraftingUtils.GetCraftingResources(); var outputSize = resources.Count * TakenCraftingResourceRequest.SensorCount; var output = new float[outputSize]; for (var i = 0; i < resources.Count; i++) { var senses = TakenCraftingResourceRequest.GetSenses(_currentRequestData, resources[i]); for (var j = 0; j < senses.Length; j++) { var index = i * TakenCraftingResourceRequest.SensorCount + j; output[index] = senses[j]; } } return(output); }