OvertakingLegend/Assets/UIFrameWork/Script/GameUI/GameUI_Multiple.cs

107 lines
2.7 KiB
C#

using BX;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 游戏UI_续倍乘
/// </summary>
public partial class GameUI
{
/// <summary>
/// 续倍乘显示时间
/// </summary>
private float multipleShowTime;
/// <summary>
/// 是续倍乘
/// </summary>
private bool isMultiple;
/// <summary>
/// 续倍乘时间
/// </summary>
public TextMeshProUGUI multipleTime;
/// <summary>
/// 续倍乘时间条
/// </summary>
public Image multipleShowBar;
/// <summary>
/// 续倍乘按钮
/// </summary>
public Button multipleBtn;
/// <summary>
/// 续倍乘动画
/// </summary>
public Animation multipleAnim;
/// <summary>
/// 初始化续倍乘
/// </summary>
private void InitMultiple()
{
isMultiple = false;
multipleShowTime = 0;
multipleBtn.interactable = false;
multipleAnim.Play("GameUI_MultipleHide");
}
/// <summary>
/// 设置续倍乘
/// </summary>
public void SetMultipleState()
{
if (isMultiple||!UserDataManager.Instance.userData.guidance.isOverInitialEntry) return;
isMultiple = true;
multipleShowTime = 10;
multipleBtn.interactable = true;
multipleAnim.Play("GameUI_MultipleShow");
BXSdk.Instance.LogEvent("RV_Button_Show", new System.Collections.Generic.Dictionary<string, object>()
{
{"Position","RV_ReBonus"}
});
}
/// <summary>
/// 设置续倍乘时间
/// </summary>
private void SetMultipleShowTime()
{
if (isMultiple)
{
multipleShowTime -= Time.deltaTime;
multipleTime.text = TimeManager.Instance.ConversionTable(multipleShowTime, E_MoreThanType.MS);
multipleShowBar.fillAmount = multipleShowTime / 10;
if (multipleShowTime <= 0)
{
multipleShowTime = 0;
multipleTime.text = TimeManager.Instance.ConversionTable(multipleShowTime, E_MoreThanType.MS);
multipleBtn.interactable = false;
multipleAnim.Play("GameUI_MultipleHide");
isMultiple=false;
}
}
}
/// <summary>
/// 续倍乘按钮
/// </summary>
private void MultipleBtnListener()
{
multipleBtn.onClick.AddListener(() =>
{
SDKManager.Instance.ShowReward("RV_ReBonus", () =>
{
Scenes.Instance.gameScene.adNumber++;
Scenes.Instance.gameScene.Multiple();
multipleShowTime = 0;
});
});
}
}