83 lines
3.6 KiB
C#
83 lines
3.6 KiB
C#
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using static UnityEngine.ParticleSystem;
|
|
|
|
/// <summary>
|
|
/// 最上层UI
|
|
/// </summary>
|
|
public partial class TopmostLayerUI : UIBaseClass
|
|
{
|
|
/// <summary>
|
|
/// 提示对象生成点
|
|
/// </summary>
|
|
public Transform tipsObjSpawnPos;
|
|
|
|
/// <summary>
|
|
/// 设置提示内容
|
|
/// </summary>
|
|
/// <param name="tips">提示</param>
|
|
public void SetTips(string tips)
|
|
{
|
|
TipsObj tipsObj = CachePoolManager.Instance.Take(YooAssetManager.Instance.LoadAssetSync<GameObject>(PackagesName.GameData, "TipsObj")).GetComponent<TipsObj>();
|
|
tipsObj.transform.SetParent(tipsObjSpawnPos);
|
|
tipsObj.transform.localScale = Vector3.one;
|
|
tipsObj.transform.position = Vector3.zero;
|
|
tipsObj.SetTips(tips);
|
|
RectTransform tipsRectTransform = tipsObj.transform as RectTransform;
|
|
tipsRectTransform.anchoredPosition3D = Vector3.zero;
|
|
tipsRectTransform.offsetMax = Vector2.zero;
|
|
tipsRectTransform.offsetMin = Vector2.zero;
|
|
tipsRectTransform.sizeDelta = new Vector2(tipsRectTransform.sizeDelta.x, 300);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 爆材料
|
|
/// </summary>
|
|
/// <param name="strtPos">起点</param>
|
|
/// <param name="endPos">终点</param>
|
|
/// <param name="callBack">爆完后做什么</param>
|
|
/// <param name="number">爆多少个</param>
|
|
/// <param name="isTrails">是否有拖尾</param>
|
|
/// <param name="generateAudioNumber">生成音效次数</param>
|
|
/// <param name="arriveAudioNumber">到达音效次数</param>
|
|
public void FlyStuff(E_StuffType e_StuffType, Transform strtPos, Transform endPos, UnityAction callBack = null, float number = 50, bool isTrails = false,int generateAudioNumber=5,int arriveAudioNumber=5)
|
|
{
|
|
Transform recordingStartPoint = strtPos;
|
|
Transform recordingEndPoint = endPos;
|
|
Color color = Color.yellow;
|
|
|
|
YooAssetManager.Instance.LoadAssetAsync<GameObject>(PackagesName.GameData, "FlyStuff", (obj) =>
|
|
{
|
|
StuffEffects stuffEffects = CachePoolManager.Instance.Take(obj).GetComponent<StuffEffects>();
|
|
stuffEffects.transform.SetParent(this.transform);
|
|
(stuffEffects.transform.transform as RectTransform).anchoredPosition3D = Vector3.zero;
|
|
stuffEffects.transform.localScale = Vector3.one;
|
|
stuffEffects.transform.position = recordingStartPoint.position;
|
|
stuffEffects.Init(e_StuffType, recordingEndPoint, callBack, number, isTrails, generateAudioNumber, arriveAudioNumber);
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 爆彩带
|
|
/// </summary>
|
|
/// <param name="leftPoint">左</param>
|
|
/// <param name="rightPoint">右</param>
|
|
public void ColouredRibbon(Transform leftPoint, Transform rightPoint)
|
|
{
|
|
YooAssetManager.Instance.LoadAssetAsync<GameObject>(PackagesName.GameData, "fx_confetti", (obj) =>
|
|
{
|
|
GameObject fx_confettiObjOne = CachePoolManager.Instance.Take(obj);
|
|
fx_confettiObjOne.transform.SetParent(leftPoint);
|
|
fx_confettiObjOne.transform.localPosition = Vector3.zero;
|
|
fx_confettiObjOne.transform.localScale = Vector3.one * 800;
|
|
fx_confettiObjOne.transform.localEulerAngles = new Vector3(-90,0,0);
|
|
GameObject fx_confettiObjTwo = CachePoolManager.Instance.Take(obj);
|
|
fx_confettiObjTwo.transform.SetParent(rightPoint);
|
|
fx_confettiObjTwo.transform.localPosition = Vector3.zero;
|
|
fx_confettiObjTwo.transform.localScale = Vector3.one * 800;
|
|
fx_confettiObjTwo.transform.localEulerAngles = new Vector3(-90, 0, 0);
|
|
});
|
|
}
|
|
}
|