feat: 채널링 빔 스킬 시스템 구현 및 PolygonParticleFX VFX 에셋 추가
- SkillData: 채널링 필드 추가 (지속시간, 틱 간격, 틱/종료 효과, VFX 프리팹, 마운트 경로, 크기 배율) - SkillController: 채널링 상태 관리 (Start/Update/End), VFX 생성/파괴, 틱 효과 주기 발동, 버튼 해제로 중단 - SkillEffect: Beam(원통) 범위 판정 추가 (OverlapCapsule), 디버그 시각화 - PlayerSkillInput: 스킬 취소(canceled) 이벤트 구독 → 채널링 중단 통지 - SkillLoadoutEntry: 채널링 틱/종료 효과 수집 메서드 추가 - 스킬 데이터/이펙트/애니메이션/VFX 에셋 추가 (채널링 스킬용) - PolygonParticleFX VFX 에셋 패키지 추가 (Materials, Models, Prefabs, Textures, Scenes)
This commit is contained in:
@@ -396,6 +396,64 @@ namespace Colosseum.Skills
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 기반 스킬의 채널링 틱 효과를 수집합니다.
|
||||
/// </summary>
|
||||
public void CollectChannelTickEffects(List<SkillEffect> destination)
|
||||
{
|
||||
if (destination == null)
|
||||
return;
|
||||
|
||||
if (baseSkill != null && baseSkill.ChannelTickEffects != null)
|
||||
{
|
||||
for (int i = 0; i < baseSkill.ChannelTickEffects.Count; i++)
|
||||
{
|
||||
SkillEffect effect = baseSkill.ChannelTickEffects[i];
|
||||
if (effect != null)
|
||||
destination.Add(effect);
|
||||
}
|
||||
}
|
||||
|
||||
if (socketedGems == null)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < socketedGems.Length; i++)
|
||||
{
|
||||
SkillGemData gem = socketedGems[i];
|
||||
if (gem == null)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 기반 스킬의 채널링 종료 효과를 수집합니다.
|
||||
/// </summary>
|
||||
public void CollectChannelEndEffects(List<SkillEffect> destination)
|
||||
{
|
||||
if (destination == null)
|
||||
return;
|
||||
|
||||
if (baseSkill != null && baseSkill.ChannelEndEffects != null)
|
||||
{
|
||||
for (int i = 0; i < baseSkill.ChannelEndEffects.Count; i++)
|
||||
{
|
||||
SkillEffect effect = baseSkill.ChannelEndEffects[i];
|
||||
if (effect != null)
|
||||
destination.Add(effect);
|
||||
}
|
||||
}
|
||||
|
||||
if (socketedGems == null)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < socketedGems.Length; i++)
|
||||
{
|
||||
SkillGemData gem = socketedGems[i];
|
||||
if (gem == null)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
private static void AddTriggeredEffect(Dictionary<int, List<SkillEffect>> destination, int triggerIndex, SkillEffect effect)
|
||||
{
|
||||
if (!destination.TryGetValue(triggerIndex, out List<SkillEffect> effectList))
|
||||
|
||||
Reference in New Issue
Block a user