41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>÷<EFBFBD><C3B7>̾<EFBFBD><CCBE><EFBFBD> <20>ð<EFBFBD>(VFX) <20><> û<><C3BB>(SFX) ȿ<><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ
|
|||
|
|
/// </summary>
|
|||
|
|
public class PlayerEffects : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
[Header("--- <20>ð<EFBFBD> ȿ<><C8BF> (VFX) ---")]
|
|||
|
|
[SerializeField] private GameObject[] slashEffects; // <20><EFBFBD><DEBA><EFBFBD> <20>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
|
[SerializeField] private Transform slashSpawnPoint;
|
|||
|
|
|
|||
|
|
[Header("--- û<><C3BB> ȿ<><C8BF> (SFX) ---")]
|
|||
|
|
[SerializeField] private AudioClip[] swingSounds;
|
|||
|
|
private AudioSource _audioSource;
|
|||
|
|
|
|||
|
|
private void Awake()
|
|||
|
|
{
|
|||
|
|
_audioSource = GetComponent<AudioSource>();
|
|||
|
|
if (_audioSource == null) _audioSource = gameObject.AddComponent<AudioSource>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>ִϸ<D6B4><CFB8>̼<EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="comboIndex"><3E><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><>ȣ (0~2)</param>
|
|||
|
|
public void PlaySlashEffect(int comboIndex)
|
|||
|
|
{
|
|||
|
|
// 1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
if (swingSounds.Length > comboIndex && swingSounds[comboIndex] != null)
|
|||
|
|
{
|
|||
|
|
_audioSource.PlayOneShot(swingSounds[comboIndex]);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 2. <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
|
if (slashEffects.Length > comboIndex && slashEffects[comboIndex] != null && slashSpawnPoint != null)
|
|||
|
|
{
|
|||
|
|
GameObject slash = Instantiate(slashEffects[comboIndex], slashSpawnPoint.position, slashSpawnPoint.rotation);
|
|||
|
|
Destroy(slash, 1.0f);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|