OvertakingLegend/Assets/UIFrameWork/Script/GeneralUI/GeneralUI.cs

185 lines
5.0 KiB
C#
Raw Normal View History

2025-03-24 03:08:22 +00:00
using BX;
using DG.Tweening;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// ͨ<><CDA8>UI
/// </summary>
public partial class GeneralUI : UIBaseClass
{
/// <summary>
/// <20><><EFBFBD><EFBFBD><E6B5B9>ʱ
/// </summary>
private float aDCountDown;
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </summary>
public TextMeshProUGUI playerMoney;
/// <summary>
/// <20><><EFBFBD><EFBFBD>ʱ
/// </summary>
public TextMeshProUGUI countDown;
/// <summary>
/// <20>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>ʾ
/// </summary>
public TextMeshProUGUI addMoney;
/// <summary>
/// <20><><EFBFBD><EFBFBD>״̬
/// </summary>
public TextMeshProUGUI adState;
/// <summary>
/// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/// </summary>
public Image countDownBar;
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </summary>
public Image box;
/// <summary>
/// <20><><EFBFBD>水ť
/// </summary>
public Button adBtn;
/// <summary>
/// <20>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public Transform flyMoneyStartPoint;
/// <summary>
/// <20>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD>յ<EFBFBD>
/// </summary>
public Transform flyMoneyEndPoint;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public GameObject adObj;
/// <summary>
/// <20><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
/// </summary>
public GameObject moneyObj;
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </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>
/// <20><>ʼ<EFBFBD><CABC>
/// </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>
/// <20><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>ʾ
/// </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>
/// <20><><EFBFBD>水ť<E6B0B4><C5A5><EFBFBD><EFBFBD>
/// </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();
});
}
});
}
}