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

200 lines
5.3 KiB
C#

using BX;
using DG.Tweening;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 游戏界面
/// </summary>
public partial class GameUI : UIBaseClass
{
/// <summary>
/// 子弹时间
/// </summary>
public Button speedbreakerBtn;
/// <summary>
/// 随机技能
/// </summary>
public Button randomSkillBtn;
/// <summary>
/// 暂停按钮
/// </summary>
public Button suspendBtn;
/// <summary>
/// 子弹时间广告图标
/// </summary>
public Image speedbreakerAD;
/// <summary>
/// 随机技能广告图标
/// </summary>
public Image randomSkillAD;
private void Start()
{
MultipleBtnListener();
SpeedbreakerBtnListener();
RandomSkillListener();
SuspendBtnListener();
SetTril();
SetCamear();
}
public override void OnShow()
{
base.OnShow();
eventObj.gameObject.SetActive(false);
addScore.gameObject.SetActive(false);
earlyWarning.gameObject.SetActive(false);
InitMultiple();
SetSkill();
SetSpeedbreakerAD();
SetRandomSkillAD();
SetRandomSkillBtn(true);
SetSpeedbreakerBtn(true);
OpeningHiding();
SetShimmerCountDownSetActive(false);
}
private void FixedUpdate()
{
SetMultipleShowTime();
}
/// <summary>
/// 设置子弹时间按钮
/// </summary>
public void SetSpeedbreakerBtn(bool isTrue)
{
if (UserDataManager.Instance.userData.guidance.isOverInitialEntry)
{
speedbreakerBtn.gameObject.SetActive(isTrue);
if(speedbreakerAD.gameObject.activeInHierarchy)
{
BXSdk.Instance.LogEvent("RV_Button_Show", new System.Collections.Generic.Dictionary<string, object>()
{
{"Position","RV_BulletTime"}
});
}
}
}
/// <summary>
/// 设置随机技能时间按钮
/// </summary>
public void SetRandomSkillBtn(bool isTrue)
{
if (UserDataManager.Instance.userData.guidance.isOverInitialEntry)
{
randomSkillBtn.gameObject.SetActive(isTrue);
if (randomSkillAD.gameObject.activeInHierarchy)
{
BXSdk.Instance.LogEvent("RV_Button_Show", new System.Collections.Generic.Dictionary<string, object>()
{
{"Position","RV_RandomSkill"}
});
}
}
}
/// <summary>
/// 设置免费子弹时间广告
/// </summary>
public void SetSpeedbreakerAD()
{
if(UserDataManager.Instance.userData.isFreeSpeedbreaker)
{
speedbreakerAD.gameObject.SetActive(true);
}
else
{
speedbreakerAD.gameObject.SetActive(false);
}
}
/// <summary>
/// 设置免费随机技能广告
/// </summary>
public void SetRandomSkillAD()
{
if (UserDataManager.Instance.userData.isRandomSkill)
{
randomSkillAD.gameObject.SetActive(true);
}
else
{
randomSkillAD.gameObject.SetActive(false);
}
}
/// <summary>
/// 子弹时间按钮监听
/// </summary>
private void SpeedbreakerBtnListener()
{
speedbreakerBtn.onClick.AddListener(() =>
{
if (UserDataManager.Instance.userData.isFreeSpeedbreaker)
{
SDKManager.Instance.ShowReward("RV_BulletTime", () =>
{
//看广告
Scenes.Instance.gameScene.adNumber++;
Scenes.Instance.gameScene.isSpeedbreaker = true;
SetSpeedbreakerBtn(false);
});
}
else
{
UserDataManager.Instance.SetIsFreeSpeedbreaker();
SetSpeedbreakerBtn(false);
Scenes.Instance.gameScene.isSpeedbreaker = true;
SetSpeedbreakerAD();
DesSpeedbreakerTips();
}
});
}
/// <summary>
/// 随机技能按钮监听
/// </summary>
private void RandomSkillListener()
{
randomSkillBtn.onClick.AddListener(() =>
{
if (UserDataManager.Instance.userData.isRandomSkill)
{
SDKManager.Instance.ShowReward("RV_RandomSkill", () =>
{
Scenes.Instance.gameScene.adNumber++;
Scenes.Instance.player.skill.ReleaseSkills("Skill_" + Random.Range(1, 5));
});
}
else
{
UserDataManager.Instance.SetIsRandomSkill();
SetRandomSkillAD();
Scenes.Instance.player.skill.ReleaseSkills("Skill_" + Random.Range(1, 5));
DesRandomSkillTips();
}
});
}
/// <summary>
/// 暂停按钮监听
/// </summary>
private void SuspendBtnListener()
{
suspendBtn.onClick.AddListener(() =>
{
SetCountdownEnds(false);
UIManager.Instance.AsynShowUI<SuspendUI>();
Scenes.Instance.gameScene.Suspend();
});
}
}