少年修仙传客户端代码仓库
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
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
 
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
    public class FairyTreasureCollectPanelPattern4 : FairyTreasureCollect
    {
        [SerializeField] Text m_SignPropertyEffect;
        [SerializeField] Text m_SignInTotalDays;
        [SerializeField] Text m_ProerptyValue;
        [SerializeField] Text m_SignInTip;
        [SerializeField] PositionTween m_RightTween;
 
        SignInModel signInModel
        {
            get
            {
                return ModelCenter.Instance.GetModel<SignInModel>();
            }
        }
 
        public override void Display(int _treasureId, bool _tween = false)
        {
            base.Display(_treasureId, _tween);
 
            signInModel.OnSignRefresh += OnSignRefresh;
 
            var _fightPower = model.GetTreasureFightPower(_treasureId);
            m_FightPower.text = UIHelper.ReplaceLargeArtNum(_fightPower);
            m_ContainerFight.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
 
            m_GotoBtnText.text = Language.Get("FairyTreasureGotoBuy");
 
            if (model.fairyTreasureGetDict.ContainsKey(_treasureId))
            {
                m_LockedDescription.text = Language.Get("FairyTreasure_1", model.fairyTreasureGetDict[_treasureId]);
            }
 
            if (_tween && m_RightTween.gameObject.activeInHierarchy)
            {
                m_RightTween.Play();
            }
            else
            {
                m_RightTween.SetEndState();
            }
 
            OnSignRefresh();
        }
 
        public override void Dispose()
        {
            base.Dispose();
            signInModel.OnSignRefresh -= OnSignRefresh;
        }
 
        protected sealed override void OnTreasureStateChange(int _id)
        {
            base.OnTreasureStateChange(_id);
            if (_id != treasureId)
            {
                return;
            }
            OnSignRefresh();
            var _fightPower = model.GetTreasureFightPower(_id);
            m_FightPower.text = UIHelper.ReplaceLargeArtNum(_fightPower);
            m_ContainerFight.SetActive(_fightPower > 0 && treasure.state == TreasureState.Collected);
        }
 
        protected sealed override void GotoGet()
        {
            ModelCenter.Instance.GetModel<VipModel>().gotoVipLv = model.fairyTreasureGetDict[treasureId];
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc4);
        }
 
        private void OnSignRefresh()
        {
            var _property = model.GetSignInPropertys().First();
            var _propertyCfg = PlayerPropertyConfig.Get(_property.Key);
            m_SignPropertyEffect.text = Language.Get("FairyTreasure_5",
                _property.Value, _propertyCfg.Name);
            m_SignInTotalDays.text = Language.Get("FairyTreasure_6", signInModel.totalSignInCount);
            if (treasure.state != TreasureState.Collected)
            {
                m_ProerptyValue.text = Language.Get("FairyTreasure_7",
                    _propertyCfg.Name, signInModel.totalSignInCount * _property.Value);
                m_SignInTip.text = Language.Get("SignInTreasureTip1");
            }
            else
            {
                m_ProerptyValue.text = Language.Get("FairyTreasure_8",
                   _propertyCfg.Name, signInModel.totalSignInCount * _property.Value);
                m_SignInTip.text = Language.Get("SignInTreasureTip2");
            }
        }
    }
}