75 lines
2.1 KiB
C#
75 lines
2.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using CG.Framework;
|
|
using CG.UTility;
|
|
using DG.Tweening;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
/*******************************************************************************
|
|
*Create By CG
|
|
*Function
|
|
*******************************************************************************/
|
|
namespace ZXK.LouDiXvMuNiu
|
|
{
|
|
public class ShowTitleUIPrefab : UIBase
|
|
{
|
|
private AudioEffectCtrl _audioClipCtrl = null;
|
|
private bool _playAuding = false;
|
|
private Action _finishCallback = null;
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
if (!transform.TryGetComponent(out _audioClipCtrl))
|
|
{
|
|
_audioClipCtrl = gameObject.AddComponent<AudioEffectCtrl>();
|
|
}
|
|
}
|
|
public void SetTextAudMsg(string content, string audName,Action callback = null)
|
|
{
|
|
// Sequence sequence = DOTween.Sequence();
|
|
// sequence.Append(transform.GetComponent<CanvasGroup>().DOFade(1.0f, 0.2f))
|
|
// .Append(transform.GetComponent<CanvasGroup>().DOFade(0.0f, 0.2f).SetDelay(1.5f).OnComplete(()=> {
|
|
// if (callback != null) callback();
|
|
// Destroy(gameObject);
|
|
// }));
|
|
if (callback != null)
|
|
_finishCallback = callback;
|
|
transform.GetComponent<CanvasGroup>().DOFade(1.0f, 0.2f);
|
|
Text textTemp = transform.Find("TxtBG/Text").GetComponent<Text>();
|
|
if (UtilitiesMng.GetTransCharNum(content) > 68)
|
|
{
|
|
textTemp.alignment = TextAnchor.MiddleLeft;
|
|
}
|
|
else
|
|
{
|
|
textTemp.alignment = TextAnchor.MiddleCenter;
|
|
}
|
|
textTemp.text = content;
|
|
if (string.IsNullOrEmpty(audName)) return;
|
|
string audioPath = Application.streamingAssetsPath + "/Audios/NiuTips/" + audName + ".mp3";
|
|
CG.UTility.UtilitiesMng.LoadAudio(audioPath, (AudioClip clip) =>
|
|
{
|
|
if (clip)
|
|
{
|
|
GetComponent<AudioSource>().clip = clip;
|
|
GetComponent<AudioSource>().Play();
|
|
_playAuding = true;
|
|
}
|
|
});
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (_playAuding)
|
|
{
|
|
if (!GetComponent<AudioSource>().isPlaying)
|
|
{
|
|
_finishCallback?.Invoke();
|
|
GetComponent<CanvasGroup>().DOFade(0.0f, 0.2f);
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |