2026-05-15 충돌오류 진행중

This commit is contained in:
2026-05-15 18:07:50 +09:00
parent ec353d0fd4
commit 53e7f3b302
33 changed files with 902 additions and 65 deletions

View File

@@ -0,0 +1,42 @@
using UnityEngine;
using UnityEngine.Serialization;
[CreateAssetMenu(fileName = "ActionData", menuName = "Combat/ActionData")]
public class ActionData : ScriptableObject
{
[FormerlySerializedAs("AttackName")]
[FormerlySerializedAs("MotionName")]
public string ActionName;
public string AnimationState;
public float AnimationSpeed = 1f;
public AnimationCurve AnimationSpeedCurve = AnimationCurve.Linear(0f, 1f, 1f, 1f);
public bool ReturnToIdleOnAnimationComplete;
public float Cooldown = 0.3f;
public float ComboWindow = 0.25f;
[Header("Motion")]
public bool HasMotion;
public Vector2 Velocity = Vector2.zero;
public AnimationCurve MotionSpeedCurve = AnimationCurve.Linear(0f, 1f, 1f, 1f);
[FormerlySerializedAs("Duration")]
public float MotionDuration = 0.3f;
public bool CanMoveDuringAction;
public bool CanTurnDuringAction;
public bool UseInputDirection = true;
public bool PreserveYVelocity = true;
public bool StopHorizontalVelocityOnEnd = true;
public bool IgnoreCollisionDuringAction;
public LayerMask IgnoredCollisionLayers;
[Header("Hit")]
public bool HasHit = true;
public Vector2 Offset = new Vector2(0.5f, 0f);
public float Radius = 0.5f;
public int Damage = 10;
public float HitTiming = 0.15f;
public float HitDuration = 0f;
[Header("Hit Reaction")]
public Vector2 HitVelocity = Vector2.zero;
public string HitReactionAnimationState;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 526ebe3dc7ff32e4faa2cfcdc1670638

View File

@@ -1,17 +0,0 @@
using UnityEngine;
[CreateAssetMenu(fileName = "AttackData", menuName = "Combat/AttackData")]
public class AttackData : ScriptableObject
{
public string AttackName;
public string AnimationState;
public Vector2 Offset = new Vector2(0.5f, 0f);
public float Radius = 0.5f;
public int Damage = 10;
public float Cooldown = 0.3f;
[Header("Timing")]
public float HitTiming = 0.15f;
public float HitDuration = 0f;
public float MotionDuration = 0.3f;
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 526ebe3dc7ff32e4faa2cfcdc1670638

View File

@@ -1,10 +1,12 @@
using System;
using UnityEngine;
using UnityEngine.Serialization;
public enum ComboInputType
{
Punch,
Kick
Kick,
Motion
}
[Serializable]
@@ -20,7 +22,8 @@ public class ComboTransition
public class ComboNode : ScriptableObject
{
public string NodeName;
public AttackData Attack;
[FormerlySerializedAs("Attack")]
public ActionData Action;
public float ComboWindow = 0.8f;
public ComboTransition[] Transitions;
}

View File

@@ -1,4 +1,6 @@
using UnityEngine;
public interface IDamageable
{
void TakeDamage(int amount);
void TakeDamage(int amount, Vector2 hitVelocity = default, string hitReactionAnimationState = null);
}