Files
Main/Assets/Launcher/ExternalLibs/NGUI/Scripts/UI/UISoundFXPlayer.cs
2025-01-25 04:38:09 +08:00

95 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
public enum UISoundType
{
UICustom,
UIAdd,
UIBuy,
UIHit,
UIError,
UIOpenBag,
UIOpen,
UIColse,
UIYes,
UINo,
}
public class UISoundFXPlayer : MonoBehaviour
{
private static Action<String> _soundPlayer = null;
public static Action<String> SoundPlayer
{
get { return _soundPlayer; }
set { _soundPlayer = value; }
}
[SerializeField]
private String _soundName = "snd_ui_hit";
[SerializeField]
private UISoundType _soundType = UISoundType.UIHit;
private EventDelegate _delegate = null;
public UISoundType SoundType
{
get { return _soundType; }
set
{
if (_soundType != value)
{
_soundType = value;
_soundName = GetTypeSound(_soundType);
}
}
}
public String SoundName
{
get { return _soundName; }
set
{
if (_soundName != value)
{
_soundName = value;
_soundType = UISoundType.UICustom;
}
}
}
protected void OnClick()
{
if (String.IsNullOrEmpty(_soundName) || _soundPlayer == null)
return;
_soundPlayer(_soundName);
}
private String GetTypeSound(UISoundType type)
{
switch (type)
{
case UISoundType.UIAdd:
return "snd_ui_add";
case UISoundType.UIBuy:
return "snd_ui_buy";
case UISoundType.UIHit:
return "snd_ui_hit";
case UISoundType.UIError:
return "snd_ui_error";
case UISoundType.UIOpenBag:
return "snd_ui_openbag";
case UISoundType.UIOpen:
return "snd_ui_open";
case UISoundType.UIColse:
return "snd_ui_close";
case UISoundType.UIYes:
return "snd_ui_yes";
case UISoundType.UINo:
return "snd_ui_no";
}
return "";
}
}