少年修仙传客户端代码仓库
client_Wu Xijin
2019-06-13 033958214c0b16d7e7b93cc821b018c295251867
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
using Snxxz.UI;
using System;
 
namespace EnhancedUI.EnhancedScroller
{
    public class RoleTitleCell : ScrollerUI
    {
        [SerializeField] Image m_TitleIcon;
        [SerializeField] Image m_BottomImg;
        [SerializeField] Button m_UseTitleBtn;
        [SerializeField] Image m_TitleEquipImg;
        [SerializeField] Button m_TitleGetBtn;
        [SerializeField] RectTransform m_ContainerNewGet;
 
        TitleModel m_Model;
        TitleModel model
        {
            get
            {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TitleModel>());
            }
        }
 
        TaskModel task { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
 
        public override void Refresh(CellView cell)
        {
            int _index = cell.index;
            if (_index >= model.roleTitleList.Count)
            {
                return;
            }
            int _titleId = model.roleTitleList[_index];
            TitleData titleData = model.GetGainTitle(_titleId);
            DienstgradConfig config = DienstgradConfig.Get(_titleId);
            m_TitleIcon.SetSprite(config.Image);
            m_TitleIcon.SetNativeSize();
            if (model.presentSelectTitle == model.roleTitleList[_index])
            {
                m_BottomImg.SetSprite("Title_RightWindow");
            }
            else
            {
                m_BottomImg.SetSprite("Title_PopupWindow");
            }
            m_TitleGetBtn.gameObject.SetActive(!model.IsTitleGain(_titleId) && config.gotoId > 0);
            m_UseTitleBtn.gameObject.SetActive(model.IsTitleGain(_titleId));
            m_ContainerNewGet.gameObject.SetActive(model.IsNewGet(_titleId));
            m_UseTitleBtn.onClick.RemoveAllListeners();
            if (titleData != null)
            {
                m_UseTitleBtn.onClick.AddListener(()=> 
                {
                    OnTitleUseClick(_index);
                });
                m_TitleEquipImg.gameObject.SetActive(titleData.isEquiped);
            }
            m_TitleGetBtn.RemoveAllListeners();
            if (titleData == null && config.gotoId > 0)
            {
                m_TitleGetBtn.AddListener(() =>
                {
                    if (config.gotoId > 0)
                    {
                        if (config.missionId > 0
                             && task.GetQuestState(config.missionId) == -1)
                        {
                            var taskConfig = PyTaskConfig.Get(config.missionId);
                            var taskName = string.Empty;
                            if (taskConfig != null)
                            {
                                var taskInfo = TASKINFOConfig.Get(taskConfig.name);
                                if (taskInfo != null)
                                {
                                    taskName = taskInfo.show_writing;
                                }
                            }
                            SysNotifyMgr.Instance.ShowTip("RoleTitle_1", taskName);
                            return;
                        }
                        WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.gotoId);
                    }
                });
            }
        }
 
        private void OnTitleUseClick(int _index)
        {
            int id = model.roleTitleList[_index];
            if (!model.IsTitleGain(id))
            {
                return;
            }
            TitleData title = model.GetGainTitle(id);
            C0337_tagCPlayerChangeDienstgrad equipTitlePack = new C0337_tagCPlayerChangeDienstgrad();
            equipTitlePack.GradID = (uint)id;
            equipTitlePack.State = (byte)(title.isEquiped ? 0 : 1);
            GameNetSystem.Instance.SendInfo(equipTitlePack);
        }
    }
}