private static void StackAction(IStackable obj, List <byte> output) { var bytes = obj.Stack(); output.AddRange(Encoding.UTF8.GetBytes(obj.GetType().FullName !+';')); output.AddRange(bytes); }
/// <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); }