少年修仙传客户端代码仓库
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
119
120
121
122
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, September 12, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
 
using System;
 
namespace vnxbqy.UI
{
 
    public class TaiChiBreifInfo : MonoBehaviour
    {
        [Header("Text")]
        [SerializeField]
        Text m_OpenTime;
        [SerializeField]
        Text m_SurplusTimes;
        [SerializeField]
        Text m_DungeonForm;
        [SerializeField]
        Text m_LevelLimit;
        [SerializeField]
        Text m_Description;
 
        [Header("Item")]
        [SerializeField]
        ItemBehaviour[] m_Rewards;
 
        TaiChiModel _taiChiModel;
        TaiChiModel taiChiModel
        {
            get { return _taiChiModel ?? (_taiChiModel = ModelCenter.Instance.GetModel<TaiChiModel>()); }
        }
        
        DailyQuestModel m_Model;
        DailyQuestModel model
        {
            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DailyQuestModel>()); }
        }
 
        private void OnEnable()
        {
            taiChiModel.RefreshTaiChiModel += RefreshUI;
        }
 
        private void OnDisable()
        {
            taiChiModel.RefreshTaiChiModel -= RefreshUI;
        }
 
        private void RefreshUI()
        {
            UpdateDungeonTimes();
        }
 
        private void UpdateDungeonTimes()
        {
            var completedTimes = taiChiModel.dailyQuestModel.GetDailyQuestCompletedTimes(taiChiModel.TaiChiDailyTaskID);
            var totalTimes = taiChiModel.dailyQuestModel.GetDailyQuestTotalTimes(taiChiModel.TaiChiDailyTaskID);
 
            m_SurplusTimes.text = StringUtility.Contact(totalTimes - completedTimes, "/", totalTimes);
            m_SurplusTimes.color = (totalTimes - completedTimes) > 0 ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red);
 
        }
 
        public void SetDungeonInfo(Dungeon _dungeon)
        {
            var config = DailyQuestConfig.Get(taiChiModel.TaiChiDailyTaskID);
            FuncOpenLVConfig openLVConfig = FuncOpenLVConfig.Get(config.UnLockFuncID);
 
            DailyQuestOpenTime openTime;
            if (model.TryGetOpenTime(model.currentDailyQuest, out openTime))
            {
                if (openTime.always)
                {
                    m_OpenTime.text = Language.Get("DailyQuest_NoTimeLimit");
                }
                else
                {
                    m_OpenTime.text = openTime.ToOpenTimeString();
                }
            }
            else
            {
                m_OpenTime.text = string.Empty;
            }
 
            UpdateDungeonTimes();
            m_DungeonForm.text = config.QuestTypeDescribe;
            m_LevelLimit.text = openLVConfig.LimitLV.ToString();
            var playerLevel = PlayerDatas.Instance.baseData.LV;
            m_LevelLimit.color = playerLevel >= openLVConfig.LimitLV ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red, true);
            m_Description.text = Language.Get("WytjActivityDes");
 
            for (int i = 0; i < m_Rewards.Length; i++)
            {
                var behaviour = m_Rewards[i];
                if (i < config.RewardID.Length)
                {
                    behaviour.SetActive(true);
                    behaviour.showCount = true;
                    behaviour.SetItem(config.RewardID[i], 0);
                }
                else
                {
                    behaviour.SetActive(false);
                }
            }
 
        }
 
 
 
    }
 
}