少年修仙传客户端代码仓库
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
using vnxbqy.UI;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
 
public class LivenessRewardData
{
    public DailyLivenessRewardConfig config;
    public int state;//0-未达成条件 1-可领取 2-已领取  
}
 
 
public class LivenessRewardWin : Window
{
    [SerializeField] Button CloseBtn;
    [SerializeField] Image m_LivenessBarMask;
    [SerializeField] Text m_LivenessText;
    [SerializeField] CyclicScroll m_LivenessRewardScroll;
    private DailyQuestModel m_DailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
 
    protected override void AddListeners()
    {
        CloseBtn.AddListener(() => CloseImmediately());
    }
 
    protected override void BindController()
    {
       
    }
 
    protected override void OnAfterClose()
    {
        m_DailyQuestModel.activeValueRewardGotEvent -= ShowLivenessRewardScroll;
        m_DailyQuestModel.currentActiveValueUpdateEvent -= RefreshLiveness;
 
 
    }
 
    protected override void OnAfterOpen()
    {
        
    }
 
    protected override void OnPreClose()
    {
        m_LivenessRewardScroll.Dispose();
    }
 
    protected override void OnPreOpen()
    {
        m_DailyQuestModel.activeValueRewardGotEvent += ShowLivenessRewardScroll;
        m_DailyQuestModel.currentActiveValueUpdateEvent += RefreshLiveness;
        ShowLivenessRewardScroll();
        RefreshLiveness();
    }
 
    private void RefreshLiveness()
    {
        float Per = (float)m_DailyQuestModel.currentActiveValue / m_DailyQuestModel.dailyQuestTotalActiveValue;
        m_LivenessBarMask.fillAmount = Per;
        m_LivenessText.text = StringUtility.Contact(m_DailyQuestModel.currentActiveValue, "/", m_DailyQuestModel.dailyQuestTotalActiveValue);
    }
 
    private void ShowLivenessRewardScroll(int UnKnow = 0)
    {
        var DataList = m_DailyQuestModel.GetLivenessRewardDatas();
        m_LivenessRewardScroll.Init(DataList);
    }
}