public void OnEndDrag() { if (GUImain.DragObject == null) return; if (!SelectedWorker.gameObject.activeSelf) return; if (SelectedWorker.Worker != null) { if (SelectedWorker.Worker.Resource.ID == GUImain.DragObject.Resource.id) return; //foreach (int i in SelectedWorker.Worker.AssignLaborers) { //} } else { //Debug.Log("Drag"); ResourceWorker worker = new ResourceWorker(GUImain.DragObject.Resource.id); CurrentBuilding.ActiveWorks.List[SelectedWorker.ListID] = worker; SelectedWorker.Worker = worker; SelectedWorker.Redraw(); guiSlot slot = ActiveWorks.GetItem<guiSlot>(SelectedWorker.ListID); slot.Icon.sprite = worker.Resource.Image; } }
bool CheckResource(ResourceWorker worker) { if (worker.Resource.Request.Count < 1) return true; bool enough = true; foreach (ResourceData data in worker.Resource.Request.List) { if (data.id < 0) continue; if (!Inventory.Check(data.id, data.amount)) { enough = false; break; } } if (!enough) return false; foreach (ResourceData data in worker.Resource.Request.List) { if (data.id < 0) continue; Inventory.Remove(data.id, data.amount); } return true; }
public virtual void EndWorker(ResourceWorker worker) { Inventory.Add(worker.Resource.ID, worker.Resource.Amount); if (OnResourceChange != null) OnResourceChange(); }
public void Add(ResourceWorker worker) { List.Add(worker); }