少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, February 28, 2019
//--------------------------------------------------------
using System;
using System.Collections.Generic;
using vnxbqy.UI;
using System.Linq;
 
namespace vnxbqy.UI
{
    public class AuctionHelpModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public List<AuctionConfig> FullServiceAuctionList = new List<AuctionConfig>();//全服拍卖列表
        public List<AuctionItemConfig> AuctionItemList = new List<AuctionItemConfig>();//拍卖物品表
        AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
 
        public int AuctionTaxrate1 = 0;//全服拍品税率
        public int AuctionTaxrate2 = 0;//仙盟拍品税率
        public int AuctionTaxrate3 = 0;//仙盟拍品个人税率
 
        public int MaxFocusCount = 10;//最大可关注数量
        public int ExtensionTime = 0;//延长时间(秒)
 
        private ItemModel itemModel;//当前选择想要上架的物品
        public ItemModel ItemModel
        {
            get { return itemModel; }
            set { itemModel = value; }
        }
 
        public override void Init()
        {
            AuctionLogicUtil.Initialize();
 
            var funconfig = FuncConfigConfig.Get("AuctionHouse");
            MaxFocusCount = int.Parse(funconfig.Numerical5);
            ExtensionTime = int.Parse(funconfig.Numerical4);
            var AuctionTaxrateConfig = FuncConfigConfig.Get("AuctionTaxrate");
            AuctionTaxrate1 = int.Parse(AuctionTaxrateConfig.Numerical1);
            AuctionTaxrate2 = int.Parse(AuctionTaxrateConfig.Numerical2);
            AuctionTaxrate3 = int.Parse(AuctionTaxrateConfig.Numerical3);
            AuctionItemList = AuctionItemConfig.GetValues();
        }
 
        public void OnBeforePlayerDataInitialize()
        {
        }
 
        public void OnPlayerLoginOk()
        {
        }
 
        public override void UnInit()
        {
 
        }
 
        public List<AuctionItemConfig> GetAuctionItemList(int index)//获取关注列表
        {
            List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
            for (int i = 0; i < AuctionItemList.Count; i++)
            {
                var auctionItem = AuctionItemList[i];
                if (auctionItem.ItemType == index)
                {
                    auctionItemList.Add(auctionItem);
                }
            }
            auctionItemList.Sort(Compare);
            return auctionItemList;
        }
 
        int Compare(AuctionItemConfig x, AuctionItemConfig y)//数组排列
        {
            bool havex = model.IsMyFocusItem(x.ItemID);
            bool havey = model.IsMyFocusItem(y.ItemID);
            if (havex.CompareTo(havey) != 0)
            {
                return -havex.CompareTo(havey);
            }
            //if (x.Sortpriority.CompareTo(y.Sortpriority) != 0)
            //{
            //    return x.Sortpriority.CompareTo(y.Sortpriority);
            //}
            var itemConfigX = ItemConfig.Get(x.ItemID);
            var itemConfigY = ItemConfig.Get(y.ItemID);
            if (itemConfigX != null && itemConfigY != null)
            {
                //if (itemConfigX.EquipPlace.CompareTo(itemConfigY.EquipPlace) != 0)//优先装备
                //{
                //    return itemConfigX.EquipPlace.CompareTo(itemConfigY.EquipPlace);
                //}
                if (itemConfigX.ItemColor.CompareTo(itemConfigY.ItemColor) != 0)//品阶到低品阶
                {
                    return -itemConfigX.ItemColor.CompareTo(itemConfigY.ItemColor);
                }
                if (itemConfigX.LV.CompareTo(itemConfigY.LV) != 0)//阶数(高到低)
                {
                    return -itemConfigX.LV.CompareTo(itemConfigY.LV);
                }
                //if (itemConfigX.Type.CompareTo(itemConfigY.Type) != 0)//类型
                //{
                //    return itemConfigX.Type.CompareTo(itemConfigY.Type);
                //}
                //if (itemConfigX.JobLimit.CompareTo(itemConfigY.JobLimit) != 0)//职业
                //{
                //    return itemConfigX.JobLimit.CompareTo(itemConfigY.JobLimit);
                //}
                if (itemConfigX.ID.CompareTo(itemConfigY.ID) != 0)//ID(升序)
                {
                    return itemConfigX.ID.CompareTo(itemConfigY.ID);
                }
            }
            return 1;
        }
    }
}