185 lines
5.0 KiB
C#
185 lines
5.0 KiB
C#
using BX;
|
|
using DG.Tweening;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
/// 通用UI
|
|
/// </summary>
|
|
public partial class GeneralUI : UIBaseClass
|
|
{
|
|
/// <summary>
|
|
/// 广告倒计时
|
|
/// </summary>
|
|
private float aDCountDown;
|
|
|
|
/// <summary>
|
|
/// 金币
|
|
/// </summary>
|
|
public TextMeshProUGUI playerMoney;
|
|
|
|
/// <summary>
|
|
/// 倒计时
|
|
/// </summary>
|
|
public TextMeshProUGUI countDown;
|
|
|
|
/// <summary>
|
|
/// 加金币显示
|
|
/// </summary>
|
|
public TextMeshProUGUI addMoney;
|
|
|
|
/// <summary>
|
|
/// 广告状态
|
|
/// </summary>
|
|
public TextMeshProUGUI adState;
|
|
|
|
/// <summary>
|
|
/// 倒计时条
|
|
/// </summary>
|
|
public Image countDownBar;
|
|
|
|
/// <summary>
|
|
/// 箱子
|
|
/// </summary>
|
|
public Image box;
|
|
|
|
/// <summary>
|
|
/// 广告按钮
|
|
/// </summary>
|
|
public Button adBtn;
|
|
|
|
/// <summary>
|
|
/// 飞金币起点
|
|
/// </summary>
|
|
public Transform flyMoneyStartPoint;
|
|
|
|
/// <summary>
|
|
/// 飞金币终点
|
|
/// </summary>
|
|
public Transform flyMoneyEndPoint;
|
|
|
|
/// <summary>
|
|
/// 广告对象
|
|
/// </summary>
|
|
public GameObject adObj;
|
|
|
|
/// <summary>
|
|
/// 金币对象
|
|
/// </summary>
|
|
public GameObject moneyObj;
|
|
|
|
/// <summary>
|
|
/// 红点
|
|
/// </summary>
|
|
public GameObject redDot;
|
|
|
|
private void Start()
|
|
{
|
|
AdBtnListener();
|
|
}
|
|
|
|
public override void OnShow()
|
|
{
|
|
base.OnShow();
|
|
OpeningHiding();
|
|
aDCountDown =GameNumericalValue.ADCountDown-TimeManager.Instance.GetSubSeconds<float>(UserDataManager.Instance.userData.aDDateTime, System.DateTime.Now, E_IntervalType.S);
|
|
Init();
|
|
SetMoney(UserDataManager.Instance.userData.money);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
private void Init()
|
|
{
|
|
if (!adObj.activeInHierarchy) return;
|
|
if (aDCountDown <= 0)
|
|
{
|
|
BXSdk.Instance.LogEvent("RV_Button_Show",new System.Collections.Generic.Dictionary<string, object>()
|
|
{
|
|
{"Position","RV_GetCoin"}
|
|
});
|
|
|
|
redDot.gameObject.SetActive(true);
|
|
adObj.transform.DOScale(Vector3.one * 0.9f, 0.5f).SetLoops(-1, LoopType.Yoyo);
|
|
countDownBar.fillAmount = 1;
|
|
countDown.text = "0:00";
|
|
adState.text = "GET";
|
|
addMoney.text = "+20000";
|
|
box.sprite = YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData,"Box_Open");
|
|
}
|
|
else
|
|
{
|
|
BXSdk.Instance.LogEvent("RV_Button_Show", new System.Collections.Generic.Dictionary<string, object>()
|
|
{
|
|
{"Position","RV_GetNow"}
|
|
});
|
|
|
|
redDot.gameObject.SetActive(false);
|
|
adObj.transform.DOKill();
|
|
adObj.transform.localScale = Vector3.one;
|
|
adState.text = "GETNOW";
|
|
addMoney.text = "Await";
|
|
box.sprite = YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "Box_Hide");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置金币显示
|
|
/// </summary>
|
|
public void SetMoney(int value)
|
|
{
|
|
playerMoney.text = value.ToString();
|
|
}
|
|
|
|
private void FixedUpdate()
|
|
{
|
|
if (aDCountDown>0)
|
|
{
|
|
aDCountDown -= Time.deltaTime;
|
|
countDown.text = TimeManager.Instance.ConversionTable(aDCountDown,E_MoreThanType.MS);
|
|
countDownBar.fillAmount =1-(aDCountDown / GameNumericalValue.ADCountDown);
|
|
if(aDCountDown<=0)
|
|
{
|
|
Init();
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 广告按钮监听
|
|
/// </summary>
|
|
private void AdBtnListener()
|
|
{
|
|
adBtn.onClick.AddListener(() =>
|
|
{
|
|
if (aDCountDown <= 0)
|
|
{
|
|
SDKManager.Instance.ShowReward("RV_GetCoin", () =>
|
|
{
|
|
DesSweepAway();
|
|
UserDataManager.Instance.SetAdTime();
|
|
aDCountDown = GameNumericalValue.ADCountDown - TimeManager.Instance.GetSubSeconds<float>(UserDataManager.Instance.userData.aDDateTime, System.DateTime.Now, E_IntervalType.S);
|
|
Init();
|
|
UserDataManager.Instance.AddMoney(20000);
|
|
UIManager.Instance.GetUI<TopmostLayerUI>().FlyStuff(E_StuffType.Money, flyMoneyStartPoint, flyMoneyEndPoint, () =>
|
|
{
|
|
Scenes.Instance.GoldCoin();
|
|
}, 100);
|
|
UserDataManager.Instance.userData.skillUpgradeData.Clear();
|
|
UIManager.Instance.GetUI<ShopUI>()?.SetSkillUIObjs();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
SDKManager.Instance.ShowReward("RV_GetNow", () =>
|
|
{
|
|
aDCountDown = 0;
|
|
Init();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|