Exemplo n.º 1
0
        private static void StackAction(IStackable obj, List <byte> output)
        {
            var bytes = obj.Stack();

            output.AddRange(Encoding.UTF8.GetBytes(obj.GetType().FullName !+';'));
            output.AddRange(bytes);
        }
Exemplo n.º 2
0
        /// <summary>
        /// получить первую незполненную ячейку
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        protected int GetFirstNotFull(IStackable item)
        {
            int ret = -1;

            for (int i = 0; i < items.Length; i++)
            {
                if (items[i] != null)
                {
                    //предмет найден
                    if (items[i].GetType() == item.GetType())
                    {
                        //предмета не максимальное количество
                        if ((items[i] as IStackable).StackSize > items[i].Count)
                        {
                            return(i);
                        }
                    }
                }
            }
            return(ret);
        }