Projext/Assets/Scripts/Player/Effect/Player Effect.cs

41 lines
1.3 KiB
C#
Raw Normal View History

2026-02-03 14:41:49 +00:00
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);
}
}
}