2026-05-15 충돌오류 진행중
This commit is contained in:
42
Assets/02_Scripts/Combat/ActionData.cs
Normal file
42
Assets/02_Scripts/Combat/ActionData.cs
Normal 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;
|
||||
}
|
||||
2
Assets/02_Scripts/Combat/ActionData.cs.meta
Normal file
2
Assets/02_Scripts/Combat/ActionData.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 526ebe3dc7ff32e4faa2cfcdc1670638
|
||||
@@ -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;
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 526ebe3dc7ff32e4faa2cfcdc1670638
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
public interface IDamageable
|
||||
{
|
||||
void TakeDamage(int amount);
|
||||
void TakeDamage(int amount, Vector2 hitVelocity = default, string hitReactionAnimationState = null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user