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

133 lines
4.0 KiB
C#

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 游戏UI_引导
/// </summary>
public partial class GameUI
{
private Material randomSkillMaterial;
private Material speedbreakerMaterial;
/// <summary>
/// 开局隐藏
/// </summary>
private void OpeningHiding()
{
if (!UserDataManager.Instance.userData.guidance.isOverInitialEntry)
{
randomSkillBtn.gameObject.SetActive(false);
speedbreakerBtn.gameObject.SetActive(false);
endDistance.gameObject.SetActive(false);
skillBarObj.gameObject.SetActive(false);
scoreShow.gameObject.SetActive(false);
}
if(UserDataManager.Instance.userData.level<1)
{
randomSkillBtn.gameObject.SetActive(false);
}
else
{
RandomSkillTips();
}
if(UserDataManager.Instance.userData.level < 2)
{
speedbreakerBtn.gameObject.SetActive(false);
}
else
{
SpeedbreakerTips();
}
}
/// <summary>
/// 打开技能图标
/// </summary>
public void OpenSkin()
{
skillBarObj.gameObject.SetActive(true);
}
/// <summary>
/// 打开其他
/// </summary>
public void OpenOthe()
{
scoreShow.gameObject.SetActive(true);
endDistance.gameObject.SetActive(true);
}
/// <summary>
/// 闪烁
/// </summary>
public void Flicker()
{
endDistance.AddComponent<CanvasGroup>().DOFade(0f, 0.3f).SetLoops(10, LoopType.Yoyo);
scoreShow.AddComponent<CanvasGroup>().DOFade(0f, 0.3f).SetLoops(10, LoopType.Yoyo);
}
/// <summary>
/// 随机技能提示
/// </summary>
private void RandomSkillTips()
{
if(!UserDataManager.Instance.userData.guidance.isRandomSkillTap)
{
DelayedProcessingManager.Instance.DelayDoSecond(this, 3, () =>
{
randomSkillMaterial = Instantiate(YooAssetManager.Instance.LoadAssetSync<Material>(PackagesName.GameData, "SweepAway"));
randomSkillBtn.transform.GetChild(0).GetComponent<Image>().material = randomSkillMaterial;
randomSkillBtn.transform.DOScale(Vector3.one * 1.1f, 0.8f).SetLoops(-1, LoopType.Yoyo);
});
}
}
/// <summary>
/// 子弹时间提示
/// </summary>
private void SpeedbreakerTips()
{
if (!UserDataManager.Instance.userData.guidance.isSpeedbreakerTap)
{
DelayedProcessingManager.Instance.DelayDoSecond(this, 3, () =>
{
speedbreakerMaterial = Instantiate(YooAssetManager.Instance.LoadAssetSync<Material>(PackagesName.GameData, "SweepAway"));
speedbreakerBtn.transform.GetChild(0).GetComponent<Image>().material = speedbreakerMaterial;
speedbreakerBtn.transform.DOScale(Vector3.one * 1.1f, 0.8f).SetLoops(-1, LoopType.Yoyo);
});
}
}
/// <summary>
/// 删除随机技能提示
/// </summary>
private void DesRandomSkillTips()
{
if (!UserDataManager.Instance.userData.guidance.isRandomSkillTap)
{
randomSkillBtn.transform.DOKill();
Destroy(randomSkillMaterial);
randomSkillBtn.transform.GetChild(0).GetComponent<Image>().material = null;
UserDataManager.Instance.userData.guidance.SetIsRandomSkillTap();
}
}
/// <summary>
/// 删除子弹时间提示
/// </summary>
private void DesSpeedbreakerTips()
{
if (!UserDataManager.Instance.userData.guidance.isSpeedbreakerTap)
{
speedbreakerBtn.transform.DOKill();
Destroy(speedbreakerMaterial);
speedbreakerBtn.transform.GetChild(0).GetComponent<Image>().material = null;
UserDataManager.Instance.userData.guidance.SetIsSpeedbreakerTap();
}
}
}