From 42f92020c7aa69a9003d96f33563950b407d8665 Mon Sep 17 00:00:00 2001 From: sharedacc520k Date: Mon, 6 Apr 2026 18:05:11 +0900 Subject: [PATCH] =?UTF-8?q?2026-04-06=20=EC=8A=A4=ED=82=AC=EC=8B=9C?= =?UTF-8?q?=EC=8A=A4=ED=85=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/extensions.json | 5 + .vscode/launch.json | 10 + .vscode/settings.json | 71 ++++++ .../02_Scripts/Managers/Local/SkillManager.cs | 202 ++++++++++++++++++ Assets/02_Scripts/Skill/Data/SkillData.cs | 54 +++++ .../02_Scripts/Skill/Data/WeaponSkillSet.cs | 9 + Assets/02_Scripts/Skill/Effects/AreaEffect.cs | 25 +++ Assets/02_Scripts/Skill/Effects/BuffEffect.cs | 14 ++ .../02_Scripts/Skill/Effects/DamageEffect.cs | 20 ++ .../02_Scripts/Skill/Effects/ISkillEffect.cs | 6 + .../Skill/Effects/ProjectileEffect.cs | 15 ++ Assets/02_Scripts/Skill/SkillInstance.cs | 26 +++ Assets/04_Shared/{FX.meta => VFX.meta} | 0 .../04_Shared/{FX => VFX}/CartoonVFX9X.meta | 0 .../{FX => VFX}/CartoonVFX9X/Effect.meta | 0 .../CartoonVFX9X/Effect/Materials.meta | 0 .../Effect/Materials/Glow_White.mat | 0 .../Effect/Materials/Glow_White.mat.meta | 0 .../Effect/Materials/Spark_Blue.mat | 0 .../Effect/Materials/Spark_Blue.mat.meta | 0 .../Effect/Materials/Spark_Green_URP.mat | 0 .../Effect/Materials/Spark_Green_URP.mat.meta | 0 .../Effect/Materials/Spark_Red.mat | 0 .../Effect/Materials/Spark_Red.mat.meta | 0 .../Effect/Materials/Star_Sheet_Blue.mat | 0 .../Effect/Materials/Star_Sheet_Blue.mat.meta | 0 .../Effect/Materials/Star_Sheet_Red.mat | 0 .../Effect/Materials/Star_Sheet_Red.mat.meta | 0 .../Materials/White_Smoke_Sheet_URP.mat | 0 .../Materials/White_Smoke_Sheet_URP.mat.meta | 0 .../CartoonVFX9X/Effect/Prefabs.meta | 0 .../Prefabs/Background_Fire_Green1.prefab | 0 .../Background_Fire_Green1.prefab.meta | 0 .../Effect/Prefabs/Eat_Item_Blue_5.prefab | 0 .../Prefabs/Eat_Item_Blue_5.prefab.meta | 0 .../Effect/Prefabs/Eat_Item_Red_5.prefab | 0 .../Effect/Prefabs/Eat_Item_Red_5.prefab.meta | 0 .../CartoonVFX9X/Effect/Textures.meta | 0 .../Effect/Textures/Glow_White.png | 0 .../Effect/Textures/Glow_White.png.meta | 0 .../Effect/Textures/Spark_Blue.png | 0 .../Effect/Textures/Spark_Blue.png.meta | 0 .../Effect/Textures/Spark_Green.png | 0 .../Effect/Textures/Spark_Green.png.meta | 0 .../Effect/Textures/Spark_Red.png | 0 .../Effect/Textures/Spark_Red.png.meta | 0 .../Effect/Textures/Star_Sheet_Blue.png | 0 .../Effect/Textures/Star_Sheet_Blue.png.meta | 0 .../Effect/Textures/Star_Sheet_Red.png | 0 .../Effect/Textures/Star_Sheet_Red.png.meta | 0 .../Effect/Textures/White_Smoke_Sheet.png | 0 .../Textures/White_Smoke_Sheet.png.meta | 0 .../UIEffectCollecion_Megapack.meta | 0 .../UIEffectCollecion_Megapack/Shader.meta | 0 ...CartoonVFX9X_Shader1_Addictive.shadergraph | 0 ...onVFX9X_Shader1_Addictive.shadergraph.meta | 0 .../CartoonVFX9X_Shader1_Alpha.shadergraph | 0 ...artoonVFX9X_Shader1_Alpha.shadergraph.meta | 0 .../{FX => VFX}/HighlightProfiles.meta | 0 .../InteractionHighlightProfile.asset | 0 .../InteractionHighlightProfile.asset.meta | 0 Assets/06_Items/{FX.meta => VFX.meta} | 0 .../{FX => VFX}/HighlightProfile.meta | 0 .../Highlight_FieldItem.asset | 0 .../Highlight_FieldItem.asset.meta | 0 65 files changed, 457 insertions(+) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 Assets/02_Scripts/Managers/Local/SkillManager.cs create mode 100644 Assets/02_Scripts/Skill/Data/SkillData.cs create mode 100644 Assets/02_Scripts/Skill/Data/WeaponSkillSet.cs create mode 100644 Assets/02_Scripts/Skill/Effects/AreaEffect.cs create mode 100644 Assets/02_Scripts/Skill/Effects/BuffEffect.cs create mode 100644 Assets/02_Scripts/Skill/Effects/DamageEffect.cs create mode 100644 Assets/02_Scripts/Skill/Effects/ISkillEffect.cs create mode 100644 Assets/02_Scripts/Skill/Effects/ProjectileEffect.cs create mode 100644 Assets/02_Scripts/Skill/SkillInstance.cs rename Assets/04_Shared/{FX.meta => VFX.meta} (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Glow_White.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Glow_White.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Blue.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Blue.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Red.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Spark_Red.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Glow_White.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Glow_White.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Blue.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Blue.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Green.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Green.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Red.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Spark_Red.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack/Shader.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph.meta (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph (100%) rename Assets/04_Shared/{FX => VFX}/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph.meta (100%) rename Assets/04_Shared/{FX => VFX}/HighlightProfiles.meta (100%) rename Assets/04_Shared/{FX => VFX}/HighlightProfiles/InteractionHighlightProfile.asset (100%) rename Assets/04_Shared/{FX => VFX}/HighlightProfiles/InteractionHighlightProfile.asset.meta (100%) rename Assets/06_Items/{FX.meta => VFX.meta} (100%) rename Assets/06_Items/{FX => VFX}/HighlightProfile.meta (100%) rename Assets/06_Items/{FX => VFX}/HighlightProfile/Highlight_FieldItem.asset (100%) rename Assets/06_Items/{FX => VFX}/HighlightProfile/Highlight_FieldItem.asset.meta (100%) diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..ddb6ff8 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "visualstudiotoolsforunity.vstuc" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..da60e25 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,10 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Attach to Unity", + "type": "vstuc", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..4067ba0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,71 @@ +{ + "files.exclude": { + "**/.DS_Store": true, + "**/.git": true, + "**/.vs": true, + "**/.gitmodules": true, + "**/.vsconfig": true, + "**/*.booproj": true, + "**/*.pidb": true, + "**/*.suo": true, + "**/*.user": true, + "**/*.userprefs": true, + "**/*.unityproj": true, + "**/*.dll": true, + "**/*.exe": true, + "**/*.pdf": true, + "**/*.mid": true, + "**/*.midi": true, + "**/*.wav": true, + "**/*.gif": true, + "**/*.ico": true, + "**/*.jpg": true, + "**/*.jpeg": true, + "**/*.png": true, + "**/*.psd": true, + "**/*.tga": true, + "**/*.tif": true, + "**/*.tiff": true, + "**/*.3ds": true, + "**/*.3DS": true, + "**/*.fbx": true, + "**/*.FBX": true, + "**/*.lxo": true, + "**/*.LXO": true, + "**/*.ma": true, + "**/*.MA": true, + "**/*.obj": true, + "**/*.OBJ": true, + "**/*.asset": true, + "**/*.cubemap": true, + "**/*.flare": true, + "**/*.mat": true, + "**/*.meta": true, + "**/*.prefab": true, + "**/*.unity": true, + "build/": true, + "Build/": true, + "Library/": true, + "library/": true, + "obj/": true, + "Obj/": true, + "Logs/": true, + "logs/": true, + "ProjectSettings/": true, + "UserSettings/": true, + "temp/": true, + "Temp/": true + }, + "files.associations": { + "*.asset": "yaml", + "*.meta": "yaml", + "*.prefab": "yaml", + "*.unity": "yaml", + }, + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.patterns": { + "*.sln": "*.csproj", + "*.slnx": "*.csproj" + }, + "dotnet.defaultSolution": "NJ_Project_20260312.slnx" +} \ No newline at end of file diff --git a/Assets/02_Scripts/Managers/Local/SkillManager.cs b/Assets/02_Scripts/Managers/Local/SkillManager.cs new file mode 100644 index 0000000..39c1e8f --- /dev/null +++ b/Assets/02_Scripts/Managers/Local/SkillManager.cs @@ -0,0 +1,202 @@ +using UnityEngine; + +public class SkillManager : MonoBehaviour +{ + [SerializeField] private int _maxSlots = 4; + + private PlayerStateMachine _stateMachine; + private Animator _anim; + private Transform _transform; + + private SkillInstance[] _equippedSkills; + private ISkillEffect[] _skillEffects; + + private int _chargingSlot = -1; + private float _chargeTimer = 0f; + + private void Awake() + { + _stateMachine = GetComponent(); + _anim = GetComponent(); + _transform = transform; + + _equippedSkills = new SkillInstance[_maxSlots]; + _skillEffects = new ISkillEffect[_maxSlots]; + } + + private void Update() + { + TickCooldowns(); + TickCharge(); + } + + #region 스킬 장착 + public void LoadWeaponSkills(WeaponSkillSet skillSet) + { + for (int i = 0; i < _maxSlots; i++) + { + if (i < skillSet.Skills.Count && skillSet.Skills[i] != null) + { + _equippedSkills[i] = new SkillInstance(skillSet.Skills[i]); + _skillEffects[i] = ResolveEffect(skillSet.Skills[i].TargetType); + } + else + { + _equippedSkills[i] = null; + _skillEffects[i] = null; + } + } + + ApplyPassives(); + } + + private ISkillEffect ResolveEffect(TargetType targetType) + { + return targetType switch + { + TargetType.Self => GetComponent(), + TargetType.Single => GetComponent(), + TargetType.Area => GetComponent(), + TargetType.Projectile => GetComponent(), + _ => null + }; + } + #endregion + + #region 입력 + public void SkillInput(int slotIndex, InputState inputState) + { + if (slotIndex < 0 || slotIndex >= _maxSlots) return; + + SkillInstance skill = _equippedSkills[slotIndex]; + if (skill == null) return; + if (skill.Data.SkillType == SkillType.Passive) return; + + if (inputState == InputState.Started) + { + if (!CanUseSkill(skill)) return; + + if (skill.Data.ActivationType == ActivationType.Instant) + { + ExecuteSkill(slotIndex); + } + else if (skill.Data.ActivationType == ActivationType.Charge) + { + StartCharge(slotIndex); + } + } + else if (inputState == InputState.Canceled) + { + if (_chargingSlot == slotIndex) + { + ReleaseCharge(); + } + } + } + #endregion + + #region 실행 + private bool CanUseSkill(SkillInstance skill) + { + if (skill.IsOnCooldown) return false; + + PlayerState state = _stateMachine.CurrentState; + if (state == PlayerState.Dead || state == PlayerState.Hit + || state == PlayerState.Dodge || state == PlayerState.Trans + || state == PlayerState.Action) + return false; + + return true; + } + + private void ExecuteSkill(int slotIndex) + { + SkillInstance skill = _equippedSkills[slotIndex]; + ISkillEffect effect = _skillEffects[slotIndex]; + + _stateMachine.ChangeState(PlayerState.Attack); + + if (!string.IsNullOrEmpty(skill.Data.AnimTrigger)) + _anim.SetTrigger(skill.Data.AnimTrigger); + + float chargeRatio = 1f; + if (skill.Data.ActivationType == ActivationType.Charge) + { + float maxCharge = skill.CurrentLevelData.ChargeTimeMax; + chargeRatio = maxCharge > 0 ? Mathf.Clamp01(_chargeTimer / maxCharge) : 1f; + } + + effect?.Execute(skill, _transform, chargeRatio); + + skill.StartCooldown(); + _chargeTimer = 0f; + _chargingSlot = -1; + } + #endregion + + #region 차지 + private void StartCharge(int slotIndex) + { + _chargingSlot = slotIndex; + _chargeTimer = 0f; + + _stateMachine.ChangeState(PlayerState.Charge); + + SkillInstance skill = _equippedSkills[slotIndex]; + if (!string.IsNullOrEmpty(skill.Data.AnimTrigger)) + _anim.SetTrigger(skill.Data.AnimTrigger); + } + + private void ReleaseCharge() + { + if (_chargingSlot < 0) return; + ExecuteSkill(_chargingSlot); + } + + private void TickCharge() + { + if (_chargingSlot < 0) return; + + SkillInstance skill = _equippedSkills[_chargingSlot]; + _chargeTimer += Time.deltaTime; + + if (_chargeTimer >= skill.CurrentLevelData.ChargeTimeMax) + { + ReleaseCharge(); + } + } + #endregion + + #region 쿨다운 + private void TickCooldowns() + { + foreach (var skill in _equippedSkills) + { + skill?.TickCooldown(Time.deltaTime); + } + } + #endregion + + #region 패시브 + private void ApplyPassives() + { + foreach (var skill in _equippedSkills) + { + if (skill != null && skill.Data.SkillType == SkillType.Passive) + { + // PlayerStat에 스탯 보정 적용 + } + } + } + #endregion + + #region 외부 접근 + public SkillInstance GetSkill(int slotIndex) + { + if (slotIndex < 0 || slotIndex >= _maxSlots) return null; + return _equippedSkills[slotIndex]; + } + + public int MaxSlots => _maxSlots; + #endregion +} diff --git a/Assets/02_Scripts/Skill/Data/SkillData.cs b/Assets/02_Scripts/Skill/Data/SkillData.cs new file mode 100644 index 0000000..69e612a --- /dev/null +++ b/Assets/02_Scripts/Skill/Data/SkillData.cs @@ -0,0 +1,54 @@ +using UnityEngine; + +/* +사용법: +Project에서 Create → Skill/SkillData로 스킬 에셋 생성, 레벨별 수치 입력 +Create → Skill/WeaponSkillSet로 무기별 스킬 묶음 생성 +플레이어에 SkillManager + Effect 컴포넌트들 부착 +무기 변경 시 LoadWeaponSkills(skillSet) 호출 +입력 시 SkillInput(slotIndex, inputState) 호출 +*/ + +[CreateAssetMenu(menuName = "Skill/SkillData")] +public class SkillData : ScriptableObject +{ + [Header("기본 정보")] + public string SkillName; + [TextArea] public string Description; + public Sprite Icon; + + [Header("스킬 분류")] + public SkillType SkillType; + public ActivationType ActivationType; + public TargetType TargetType; + + [Header("애니메이션")] + public string AnimTrigger; + + [Header("이펙트")] + public GameObject EffectPrefab; + + [Header("레벨별 수치")] + public SkillLevelData[] Levels; + + public SkillLevelData GetLevelData(int level) + { + int idx = Mathf.Clamp(level - 1, 0, Levels.Length - 1); + return Levels[idx]; + } +} + +[System.Serializable] +public class SkillLevelData +{ + public float Damage; + public float Range; + public float Cooldown; + public float ManaCost; + public float Duration; + public float ChargeTimeMax; +} + +public enum SkillType { Active, Passive } +public enum ActivationType { Instant, Charge } +public enum TargetType { Self, Single, Area, Projectile } diff --git a/Assets/02_Scripts/Skill/Data/WeaponSkillSet.cs b/Assets/02_Scripts/Skill/Data/WeaponSkillSet.cs new file mode 100644 index 0000000..9d4c3ce --- /dev/null +++ b/Assets/02_Scripts/Skill/Data/WeaponSkillSet.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; +using UnityEngine; + +[CreateAssetMenu(menuName = "Skill/WeaponSkillSet")] +public class WeaponSkillSet : ScriptableObject +{ + public WeaponType WeaponType; + public List Skills; +} diff --git a/Assets/02_Scripts/Skill/Effects/AreaEffect.cs b/Assets/02_Scripts/Skill/Effects/AreaEffect.cs new file mode 100644 index 0000000..113731b --- /dev/null +++ b/Assets/02_Scripts/Skill/Effects/AreaEffect.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class AreaEffect : MonoBehaviour, ISkillEffect +{ + public void Execute(SkillInstance skill, Transform caster, float chargeRatio) + { + SkillLevelData levelData = skill.CurrentLevelData; + float finalDamage = levelData.Damage * chargeRatio; + + Vector3 center = caster.position + caster.forward * levelData.Range; + + if (skill.Data.EffectPrefab != null) + { + Instantiate(skill.Data.EffectPrefab, center, Quaternion.identity); + } + + Collider[] hits = Physics.OverlapSphere(center, levelData.Range); + foreach (Collider hit in hits) + { + if (hit.transform == caster) continue; + + Debug.Log($"[범위] {hit.name}에게 {finalDamage} 데미지"); + } + } +} diff --git a/Assets/02_Scripts/Skill/Effects/BuffEffect.cs b/Assets/02_Scripts/Skill/Effects/BuffEffect.cs new file mode 100644 index 0000000..411f145 --- /dev/null +++ b/Assets/02_Scripts/Skill/Effects/BuffEffect.cs @@ -0,0 +1,14 @@ +using UnityEngine; + +public class BuffEffect : MonoBehaviour, ISkillEffect +{ + public void Execute(SkillInstance skill, Transform caster, float chargeRatio) + { + SkillLevelData levelData = skill.CurrentLevelData; + + // PlayerStat에 버프 적용 + // caster.GetComponent()?.ApplyBuff(levelData); + + Debug.Log($"버프 적용: {skill.Data.SkillName}, 지속시간 {levelData.Duration}초"); + } +} diff --git a/Assets/02_Scripts/Skill/Effects/DamageEffect.cs b/Assets/02_Scripts/Skill/Effects/DamageEffect.cs new file mode 100644 index 0000000..980b833 --- /dev/null +++ b/Assets/02_Scripts/Skill/Effects/DamageEffect.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +public class DamageEffect : MonoBehaviour, ISkillEffect +{ + public void Execute(SkillInstance skill, Transform caster, float chargeRatio) + { + SkillLevelData levelData = skill.CurrentLevelData; + float finalDamage = levelData.Damage * chargeRatio; + float range = levelData.Range; + + Collider[] hits = Physics.OverlapSphere(caster.position + caster.forward * range * 0.5f, range); + foreach (Collider hit in hits) + { + if (hit.transform == caster) continue; + + // IDamageable 등 인터페이스가 있으면 여기서 적용 + Debug.Log($"{hit.name}에게 {finalDamage} 데미지"); + } + } +} diff --git a/Assets/02_Scripts/Skill/Effects/ISkillEffect.cs b/Assets/02_Scripts/Skill/Effects/ISkillEffect.cs new file mode 100644 index 0000000..68cfb26 --- /dev/null +++ b/Assets/02_Scripts/Skill/Effects/ISkillEffect.cs @@ -0,0 +1,6 @@ +using UnityEngine; + +public interface ISkillEffect +{ + void Execute(SkillInstance skill, Transform caster, float chargeRatio); +} diff --git a/Assets/02_Scripts/Skill/Effects/ProjectileEffect.cs b/Assets/02_Scripts/Skill/Effects/ProjectileEffect.cs new file mode 100644 index 0000000..3da728e --- /dev/null +++ b/Assets/02_Scripts/Skill/Effects/ProjectileEffect.cs @@ -0,0 +1,15 @@ +using UnityEngine; + +public class ProjectileEffect : MonoBehaviour, ISkillEffect +{ + public void Execute(SkillInstance skill, Transform caster, float chargeRatio) + { + if (skill.Data.EffectPrefab == null) return; + + Vector3 spawnPos = caster.position + caster.forward + Vector3.up; + GameObject proj = Instantiate(skill.Data.EffectPrefab, spawnPos, caster.rotation); + + // 투사체에 데미지 정보 전달 + // proj.GetComponent()?.Init(skill.CurrentLevelData.Damage * chargeRatio); + } +} diff --git a/Assets/02_Scripts/Skill/SkillInstance.cs b/Assets/02_Scripts/Skill/SkillInstance.cs new file mode 100644 index 0000000..587f3f1 --- /dev/null +++ b/Assets/02_Scripts/Skill/SkillInstance.cs @@ -0,0 +1,26 @@ +public class SkillInstance +{ + public SkillData Data { get; private set; } + public int Level { get; set; } = 1; + public float CooldownTimer { get; set; } + public bool IsOnCooldown => CooldownTimer > 0f; + + public SkillLevelData CurrentLevelData => Data.GetLevelData(Level); + + public SkillInstance(SkillData data, int level = 1) + { + Data = data; + Level = level; + } + + public void StartCooldown() + { + CooldownTimer = CurrentLevelData.Cooldown; + } + + public void TickCooldown(float deltaTime) + { + if (CooldownTimer > 0f) + CooldownTimer -= deltaTime; + } +} diff --git a/Assets/04_Shared/FX.meta b/Assets/04_Shared/VFX.meta similarity index 100% rename from Assets/04_Shared/FX.meta rename to Assets/04_Shared/VFX.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X.meta b/Assets/04_Shared/VFX/CartoonVFX9X.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X.meta rename to Assets/04_Shared/VFX/CartoonVFX9X.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Glow_White.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Glow_White.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Glow_White.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Glow_White.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Glow_White.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Glow_White.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Glow_White.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Glow_White.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Blue.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Green_URP.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Red.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Red.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Red.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Red.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Red.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Red.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Spark_Red.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Spark_Red.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Blue.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/Star_Sheet_Red.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Materials/White_Smoke_Sheet_URP.mat.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Background_Fire_Green1.prefab.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Blue_5.prefab.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Prefabs/Eat_Item_Red_5.prefab.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Glow_White.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Glow_White.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Glow_White.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Glow_White.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Glow_White.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Glow_White.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Glow_White.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Glow_White.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Blue.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Blue.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Blue.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Blue.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Blue.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Blue.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Blue.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Blue.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Green.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Green.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Green.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Green.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Green.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Green.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Green.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Green.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Red.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Red.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Red.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Red.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Red.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Red.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Spark_Red.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Spark_Red.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Blue.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/Star_Sheet_Red.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png diff --git a/Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png.meta b/Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/Effect/Textures/White_Smoke_Sheet.png.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack.meta b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader.meta b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph.meta b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Addictive.shadergraph.meta diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph diff --git a/Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph.meta b/Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph.meta similarity index 100% rename from Assets/04_Shared/FX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph.meta rename to Assets/04_Shared/VFX/CartoonVFX9X/UIEffectCollecion_Megapack/Shader/CartoonVFX9X_Shader1_Alpha.shadergraph.meta diff --git a/Assets/04_Shared/FX/HighlightProfiles.meta b/Assets/04_Shared/VFX/HighlightProfiles.meta similarity index 100% rename from Assets/04_Shared/FX/HighlightProfiles.meta rename to Assets/04_Shared/VFX/HighlightProfiles.meta diff --git a/Assets/04_Shared/FX/HighlightProfiles/InteractionHighlightProfile.asset b/Assets/04_Shared/VFX/HighlightProfiles/InteractionHighlightProfile.asset similarity index 100% rename from Assets/04_Shared/FX/HighlightProfiles/InteractionHighlightProfile.asset rename to Assets/04_Shared/VFX/HighlightProfiles/InteractionHighlightProfile.asset diff --git a/Assets/04_Shared/FX/HighlightProfiles/InteractionHighlightProfile.asset.meta b/Assets/04_Shared/VFX/HighlightProfiles/InteractionHighlightProfile.asset.meta similarity index 100% rename from Assets/04_Shared/FX/HighlightProfiles/InteractionHighlightProfile.asset.meta rename to Assets/04_Shared/VFX/HighlightProfiles/InteractionHighlightProfile.asset.meta diff --git a/Assets/06_Items/FX.meta b/Assets/06_Items/VFX.meta similarity index 100% rename from Assets/06_Items/FX.meta rename to Assets/06_Items/VFX.meta diff --git a/Assets/06_Items/FX/HighlightProfile.meta b/Assets/06_Items/VFX/HighlightProfile.meta similarity index 100% rename from Assets/06_Items/FX/HighlightProfile.meta rename to Assets/06_Items/VFX/HighlightProfile.meta diff --git a/Assets/06_Items/FX/HighlightProfile/Highlight_FieldItem.asset b/Assets/06_Items/VFX/HighlightProfile/Highlight_FieldItem.asset similarity index 100% rename from Assets/06_Items/FX/HighlightProfile/Highlight_FieldItem.asset rename to Assets/06_Items/VFX/HighlightProfile/Highlight_FieldItem.asset diff --git a/Assets/06_Items/FX/HighlightProfile/Highlight_FieldItem.asset.meta b/Assets/06_Items/VFX/HighlightProfile/Highlight_FieldItem.asset.meta similarity index 100% rename from Assets/06_Items/FX/HighlightProfile/Highlight_FieldItem.asset.meta rename to Assets/06_Items/VFX/HighlightProfile/Highlight_FieldItem.asset.meta