少年修仙传客户端代码仓库
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
123
124
125
126
127
using System;
using System.Collections;
using System.Collections.Generic;
 
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
    
    public class SignInItemBehaviour : MonoBehaviour
    {
        [SerializeField] Image m_Icon;
        [SerializeField] Image m_ItemBG;
        [SerializeField] RectTransform m_ContainerVip;
        [SerializeField] Text m_VipLevel;
        [SerializeField] Text m_Day;
        [SerializeField] Text m_Count;
        [SerializeField] RectTransform m_AlreadySignIn;
        [SerializeField] RectTransform m_ContainerKeepSignIn;
        [SerializeField] Button m_SignIn;
        [SerializeField] UIEffect m_Effect;
 
        SignInModel model { get { return ModelCenter.Instance.GetModel<SignInModel>(); } }
 
        public void Display(int index)
        {
            m_SignIn.onClick.RemoveAllListeners();
            var configs = SignInConfig.GetValues();
            if (index >= configs.Count)
            {
                return;
            }
            var config = configs[index];
            var ring = model.IsFirstMonth ? 0 : (config.ItemID.Length > 1 ? 1 : 0);
            var itemConfig = ItemConfig.Get(config.ItemID[ring]);
            m_Icon.SetSprite(itemConfig.IconKey);
            m_ItemBG.SetItemBackGround(itemConfig.ItemColor, itemConfig.QualityEchoType);
            m_ContainerVip.SetActive(config.VipLv > 0);
            m_VipLevel.text = StringUtility.Contact("V", config.VipLv,
                Language.Get(StringUtility.Contact("Num_CHS_", config.VipMultiple)), Language.Get("SignInTimes"));
            m_Count.text = config.OrdinaryNum[ring] <= 1 ? string.Empty : config.OrdinaryNum[ring].ToString();
            m_Day.text = Language.Get("SignIn_4", index + 1);
            m_AlreadySignIn.SetActive(index < model.alreadySignInCount);
            m_ContainerKeepSignIn.SetActive(index == model.alreadySignInCount && model.todaySignIn
                && model.keepSignInCount > 0);
 
            bool requireEffect = false;
            m_Effect.StopImediatly();
            m_Effect.SetActive(false);
            if (!model.todaySignIn)
            {
                requireEffect = index == model.alreadySignInCount;
                m_Effect.effect = 1081;
            }
            else
            {
                requireEffect = index == model.alreadySignInCount && model.keepSignInCount > 0;
                m_Effect.effect = 1170;
            }
 
            m_Effect.SetActive(requireEffect);
 
            m_SignIn.onClick.AddListener(() =>
            {
                SignIn(index);
            });
        }
 
        private void SignIn(int index)
        {
            if (index == model.alreadySignInCount)
            {
                AchievementGoto.achievementType = 0;
                if (!model.todaySignIn)
                {
                    CA509_tagCMDaySign pak = new CA509_tagCMDaySign();
                    pak.Day = 0;
                    GameNetSystem.Instance.SendInfo(pak);
                    return;
                }
                else if (model.keepSignInCount > 0)
                {
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("SinInReplenish", model.keepSignInCost), (bool isOk) =>
                    {
                        if (isOk)
                        {
                            if (PlayerDatas.Instance.baseData.diamond >= model.keepSignInCost)
                            {
                                CA509_tagCMDaySign pak = new CA509_tagCMDaySign();
                                pak.Day = 1;
                                GameNetSystem.Instance.SendInfo(pak);
                            }
                            else
                            {
                                if (VersionConfig.Get().isBanShu)
                                {
                                    SysNotifyMgr.Instance.ShowTip("GoldErr");
                                    return;
                                }
                                WindowCenter.Instance.Open<RechargeTipWin>();
                            }
                        }
                    });
                    return;
                }
            }
            var configs = SignInConfig.GetValues();
            var config = configs[index];
            int itemId = 0;
            int itemCount = 0;
            if (!model.IsFirstMonth)
            {
                itemId = config.ItemID.Length > 1 ? config.ItemID[1] : config.ItemID[0];
                itemCount = config.OrdinaryNum.Length > 1 ? config.OrdinaryNum[1] : config.OrdinaryNum[0];
            }
            else
            {
                itemId = config.ItemID[0];
                itemCount = config.OrdinaryNum[0];
            }
 
            ItemTipUtility.Show(itemId);
        }
    }
}