public static List <SlotitemModel> GetSortedList(List <SlotitemModel> slots, SlotitemUtil.SlotitemSortKey sort_key)
        {
            List <SlotitemModel> range = slots.GetRange(0, slots.get_Count());

            SlotitemUtil.Sort(range, sort_key);
            return(range);
        }
        public static void Sort(List <SlotitemModel> slots, SlotitemUtil.SlotitemSortKey sort_key)
        {
            switch (sort_key)
            {
            case SlotitemUtil.SlotitemSortKey.Type3:
                slots.Sort(delegate(SlotitemModel x, SlotitemModel y)
                {
                    int num = SlotitemUtil._CompType3(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    num = SlotitemUtil._CompMstId(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    return(SlotitemUtil._CompGetNo(x, y));
                });
                break;

            case SlotitemUtil.SlotitemSortKey.LEVEL_ASCENDING:
                slots.Sort(delegate(SlotitemModel x, SlotitemModel y)
                {
                    int num = SlotitemUtil._CompType3(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    num = SlotitemUtil._CompMstId(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    num = SlotitemUtil._CompLevel(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    return(SlotitemUtil._CompGetNo(x, y));
                });
                break;

            case SlotitemUtil.SlotitemSortKey.LEVEL_DESCENDING:
                slots.Sort(delegate(SlotitemModel x, SlotitemModel y)
                {
                    int num = SlotitemUtil._CompType3(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    num = SlotitemUtil._CompMstId(x, y);
                    if (num != 0)
                    {
                        return(num);
                    }
                    num = SlotitemUtil._CompLevel(x, y) * -1;
                    if (num != 0)
                    {
                        return(num);
                    }
                    return(SlotitemUtil._CompGetNo(x, y));
                });
                break;
            }
        }