public static void HandleConverter(PZConverter c) { bool found = false; foreach (var converter in clist) { if (converter.input.ID == c.output.ID && !converter.doing && c.client.CountItem(converter.input.ID) >= converter.input.amount) { found = true; PZItem item = c.output; GiveItem(c.client, converter.client, item); c.doing = false; converter.Input(item); } } if (!found) { foreach (var storage in slist) { if (storage.inputitem == c.output.ID && c.client.CountItem(storage.inputitem) >= c.output.amount) { found = true; PZItem item = c.output; GiveItem(c.client, storage.client, item); c.doing = false; } } } c.doing = false; }
public int CalcGive(PZConverter c, int myamount) { int max = CalcMaxGive(c); if (myamount > max) { return(max); } else { return(myamount); } }
public int CalcMaxGive(PZConverter c) { int no = c.client.CountItem(-1); //free spaces if (no < c.input.amount) { return(c.input.amount); } else { return(no); } }