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
using System;
using UnityEngine;
using UnityEngine.UI;
 
public class HeroDebutWin : UIBase
{
    [SerializeField] RectTransform activeRect;
    [SerializeField] RectTransform moveRect;
    [SerializeField] RectTransform startRect;
    [SerializeField] RectTransform endRect;
 
    [SerializeField] ImageEx bgImage;
    [SerializeField] ImageEx titleImage;
    [SerializeField] TextEx timeText;
    [SerializeField] ButtonEx animationButton;
    [SerializeField] ButtonEx checkInButton; // 签到赠礼
    [SerializeField] RedpointBehaviour checkInRedpoint;
    [SerializeField] ButtonEx starUpButton; // 升星计划
    [SerializeField] RedpointBehaviour starUpRedpoint;
    [SerializeField] ButtonEx shopButton; // 兑换商店
    [SerializeField] RedpointBehaviour shopRedpoint;
    [SerializeField] ImageEx skinImage;
    [SerializeField] ButtonEx skinButton; // 时装特卖
    [SerializeField] ButtonEx giftButton; // 皇权礼包
    [SerializeField] RedpointBehaviour giftRedpoint;
    [SerializeField] ButtonEx callButton; // 皇权招募
    [SerializeField] UIHeroController uiHeroController;
    [SerializeField] UIHeroController lhController;
    [SerializeField] Image callRedImage;
    [SerializeField] ButtonEx closeButton;
    [SerializeField] float modleSize = 0.8f;
    HeroDebutManager manager => HeroDebutManager.Instance;
    protected override void InitComponent()
    {
        closeButton.SetListener(() => UIManager.Instance.CloseWindow<HeroDebutWin>());
        checkInButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutCheckInWin>());
        starUpButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutStarUpWin>());
        shopButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutShopWin>());
        skinButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutSkinWin>());
        giftButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutGiftWin>());
        callButton.SetListener(() => UIManager.Instance.OpenWindow<HeroDebutCallWin>());
    }
 
    protected override void OnPreOpen()
    {
        InitRedpoint();
 
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        RechargeManager.Instance.rechargeCountEvent += OnRechargeCountEvent;
        StoreModel.Instance.RefreshBuyShopLimitEvent += Display;
        manager.OnUpdateHeroAppearPlayerInfoEvent += OnUpdateHeroAppearPlayerInfoEvent;
        Display();
    }
 
    protected override void OnPreClose()
    {
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
        RechargeManager.Instance.rechargeCountEvent -= OnRechargeCountEvent;
        StoreModel.Instance.RefreshBuyShopLimitEvent -= Display;
        manager.OnUpdateHeroAppearPlayerInfoEvent -= OnUpdateHeroAppearPlayerInfoEvent;
    }
 
    private void OnUpdateHeroAppearPlayerInfoEvent(int obj)
    {
        Display();
    }
 
    private void OnRechargeCountEvent(int obj)
    {
        Display();
    }
 
    public void InitRedpoint()
    {
        checkInRedpoint.redpointId = manager.GetRedPointId(HeroDebutRedPointType.CheckIn);
        starUpRedpoint.redpointId = manager.GetRedPointId(HeroDebutRedPointType.StarUp);
        shopRedpoint.redpointId = manager.GetRedPointId(HeroDebutRedPointType.Shop);
        giftRedpoint.redpointId = manager.GetRedPointId(HeroDebutRedPointType.Gift);
    }
 
    private void Display()
    {
 
        int heroID = manager.GetCurrentDisplayCallHeroId();
        var artConfig = ActHeroAppearArtConfig.Get(heroID);
        if (artConfig == null) return;
 
        int skinID = manager.GetDefaultSkinID(heroID);
        var skinConfig = HeroSkinConfig.Get(skinID);
        if (skinConfig == null) return;
 
        var skinArtConfig = ActHeroAppearSkinArtConfig.Get(artConfig.MainSkinID);
        if (skinArtConfig == null) return;
 
        uiHeroController.Create(skinID, modleSize);
        uiHeroController.transform.localScale = new Vector3(-modleSize, modleSize, modleSize);
        lhController.Create(skinID, 1, motionName: "", isLh: true);
 
        callRedImage.SetActive(!manager.IsShopVisitedToday || manager.HasGiftCanHave());
 
        bgImage.SetSprite(artConfig.MainBgImage);
        bgImage.SetNativeSize();
 
        titleImage.SetSprite(artConfig.MainTitleImage);
        titleImage.SetNativeSize();
 
        skinImage.SetSprite(skinArtConfig.MainSkinBuyBgImage);
        OnSecondEvent();
    }
 
    private void OnSecondEvent()
    {
        manager.GetActTimeStr(timeText);
    }
}