少年修仙传客户端代码仓库
client_Zxw
2018-12-13 e2c7e29df3a12ea6b191f60fa4a4d7a7c9b22f0a
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
119
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, December 12, 2018
//--------------------------------------------------------
using System;
using System.Collections.Generic;
using TableConfig;
using Snxxz.UI;
//跨服PK奖励信息
[XLua.LuaCallCSharp]
public class Item_Class
{
    public int ItemId;
    public int ItemNumber;
    public int Isbind;
}
public class SeasonAwardClass//赛季奖励
{
    public int DanLv;
    public string Name;
    public int Score;
    public List<Item_Class> ItemList;
}
public class CrossServerRewardModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    private bool m_IsOpenMatch;
    public bool IsOpenMatch
    {
        get { return m_IsOpenMatch; }
        set { m_IsOpenMatch = value; }
    }
    DateTime m_DateTime = DateTime.Now;
    public DateTime Date_Time
    {
        get { return m_DateTime; }
        set { m_DateTime = value; }
    }
    public override void Init()
    {
        GetSeasonAward();
        GetSegmentReward();
    }
 
    public void OnBeforePlayerDataInitialize()
    {
        GlobalTimeEvent.Instance.secondEvent -= secondEvent;
       
    }
 
    public void OnPlayerLoginOk()
    {
        GlobalTimeEvent.Instance.secondEvent += secondEvent;
    }
 
   
 
    public override void UnInit()
    {
 
    }
 
    private void GetSeasonAward()
    {
        var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
        for (int i = 0; i < config.Count; i++)
        {
            var _config = config[i];
            if (!SegmentRewardDic.ContainsKey(_config.DanLV))
            {
                SeasonAwardClass seasonAwardClass = new SeasonAwardClass();
                seasonAwardClass.DanLv = _config.DanLV;
                seasonAwardClass.Name = _config.Name;
                seasonAwardClass.Score = _config.LVUpScore;
                var _jsonData = LitJson.JsonMapper.ToObject(_config.SeasonAwardList);
                List<Item_Class> itemClassList = new List<Item_Class>();
                for (int j = 0; j < _jsonData.Count; j++)
                {
                    Item_Class itemClass = new Item_Class();
                    itemClass.ItemId = int.Parse((_jsonData[j][0]).ToString());
                    itemClass.ItemNumber = int.Parse((_jsonData[j][1]).ToString());
                    itemClass.Isbind = int.Parse((_jsonData[j][2]).ToString());
                    itemClassList.Add(itemClass);
                }
                seasonAwardClass.ItemList = itemClassList;
                SegmentRewardDic.Add(_config.DanLV, seasonAwardClass);
            }
        }
    }
    private void GetSegmentReward()
    {
        var CrossRealmPKAward = Config.Instance.Get<FuncConfigConfig>("CrossRealmPKAward");
        ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
        var _jsonData = LitJson.JsonMapper.ToObject(CrossRealmPKAward.Numerical3);
        foreach (string key in _jsonData.Keys)
        {
            var _ranking = int.Parse(key);
            var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
            for (int j = 0; j < _itemArray.Length; j++)
            {
                _award.Add(_ranking, new AwardItem()
                {
                    item = new Item(_itemArray[j][0], _itemArray[j][1]),
                    isBind = _itemArray[j][2],
                });
            }
        }
        SeasonRewardDic = _award;
    }
    public  void ResetTime()
    {
        Date_Time= TimeUtility.ServerNow;
    }
    private void secondEvent()
    {
       
    }
}