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);
|
}
|
}
|