Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        public int CalcGive(PZConverter c, int myamount)
        {
            int max = CalcMaxGive(c);

            if (myamount > max)
            {
                return(max);
            }
            else
            {
                return(myamount);
            }
        }
Esempio n. 3
0
        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);
            }
        }