少年修仙传客户端代码仓库
hch
2025-06-12 204ef05a831c9484e2abc561d27ecbff7c797453
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
using System;
using UnityEngine;
using UnityEngine.UI;
 
using System.Collections.Generic;
 
namespace vnxbqy.UI
{
    public class HolidayTravelTaskWin : Window
    {
        ScrollerController awardCtrl;
        ScrollerController taskCtrl;
        Text travelPointText;
        Text OpenTime;
 
        HolidayTravelModel model { get { return ModelCenter.Instance.GetModel<HolidayTravelModel>(); } }
 
 
        protected override void BindController()
        {
            awardCtrl = GetWidgt<ScrollerController>("AwardCellCtrl");
            taskCtrl = GetWidgt<ScrollerController>("TaskCellCtrl");
            travelPointText = GetWidgt<Text>("valueText");
            OpenTime = GetWidgt<Text>("ActivityDesText");
 
            awardCtrl.OnRefreshCell += RefreshAwardCell;
            taskCtrl.OnRefreshCell += RefreshTaskCell;
        }
 
        protected override void AddListeners()
        {
           
        }
 
        protected override void OnPreOpen()
        {
            model.onTravelAwards += CreateAwardCell;
            model.onTaskProcess += CreateTaskCell;
            Init();
        }
        protected override void OnAfterOpen()
        {
           
        }
 
        protected override void OnPreClose()
        {
            model.onTravelAwards -= CreateAwardCell;
            model.onTaskProcess -= CreateTaskCell;
        }
 
        protected override void OnAfterClose()
        {
 
        }
 
        private void Init()
        {
            travelPointText.text = model.travelPoint.ToString();
            CreateAwardCell();
            CreateTaskCell();
            DisplayOpenTime();
            taskCtrl.JumpIndex(0);
            awardCtrl.JumpIndex(model.GetCanGetAwardIndex());
        }
 
        private void CreateTaskCell()
        {
 
            taskCtrl.Refresh();
            foreach(var taskID in model.travelTaskSort)
            {
                taskCtrl.AddCell(ScrollerDataType.Header, taskID);
            }
            taskCtrl.Restart();
            
        }
 
        private void RefreshTaskCell(ScrollerDataType type, CellView cell)
        {
            HolidayTravelTaskCell taskCell = cell.GetComponent<HolidayTravelTaskCell>();
            if (taskCell == null) return;
 
            taskCell.Init((byte)cell.index);
        }
 
        private void CreateAwardCell()
        {
            if (awardCtrl.GetNumberOfCells(awardCtrl.m_Scorller) > 0)
            {
                awardCtrl.m_Scorller.RefreshActiveCellViews();
            }
            else
            {
                awardCtrl.Refresh();
                foreach(var award in model.playerTravelAwards)
                {
                    awardCtrl.AddCell(ScrollerDataType.Header, award.Key);
                }
                awardCtrl.Restart();
            }
        }
 
        private void RefreshAwardCell(ScrollerDataType type, CellView cell)
        {
            HolidayTravelAwardCell awardCell = cell.GetComponent<HolidayTravelAwardCell>();
            if (awardCell == null) return;
 
            awardCell.Init((byte)cell.index);
        }
 
        void DisplayOpenTime()
        {
            OperationHolidayTravel operation;
            if (OperationTimeHepler.Instance.TryGetOperation(model.operationType, out operation))
            {
                OpenTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
            }
        }
    }
}