feat: 플레이어 경직/다운 회복 구간 추가
- HitReactionController에 경직, 다운 회복 가능 구간, Hit 속도 배율 파라미터 처리를 추가 - DownBegin/Recover 상태 종료를 StateMachineBehaviour로 받아 구르기 허용 구간과 다운 해제를 분리 - 드로그 발구르기를 경직 이펙트로 전환하고 넉백/경직 이펙트에서 Hit 애니메이션 속도 배율을 설정 가능하게 정리 - PlayMode 테스트를 추가해 경직/넉백이 Hit 애니메이션 속도 배율을 실제로 반영하는지 자동 검증
This commit is contained in:
@@ -248,11 +248,11 @@ namespace Colosseum.Editor
|
||||
180f,
|
||||
AreaCenterType.Caster);
|
||||
|
||||
KnockbackEffect stompKnockback = CreateKnockbackEffect(
|
||||
$"{EffectsFolder}/Data_SkillEffect_Drog_발구르기_1_넉백.asset",
|
||||
6f,
|
||||
1.5f,
|
||||
0.2f,
|
||||
StaggerEffect stompStagger = CreateStaggerEffect(
|
||||
$"{EffectsFolder}/Data_SkillEffect_Drog_발구르기_1_경직.asset",
|
||||
0.35f,
|
||||
true,
|
||||
1f,
|
||||
AreaShapeType.Sphere,
|
||||
4.75f,
|
||||
1f,
|
||||
@@ -277,6 +277,8 @@ namespace Colosseum.Editor
|
||||
8f,
|
||||
2f,
|
||||
0.25f,
|
||||
true,
|
||||
1f,
|
||||
AreaShapeType.Sphere,
|
||||
4.2f,
|
||||
1f,
|
||||
@@ -302,6 +304,8 @@ namespace Colosseum.Editor
|
||||
5f,
|
||||
1f,
|
||||
0.18f,
|
||||
true,
|
||||
1f,
|
||||
AreaShapeType.Sphere,
|
||||
2.8f,
|
||||
1f,
|
||||
@@ -513,7 +517,7 @@ namespace Colosseum.Editor
|
||||
true,
|
||||
false,
|
||||
stompDamage,
|
||||
stompKnockback);
|
||||
stompStagger);
|
||||
|
||||
SkillData leapPrepareSkill = CreateSkill(
|
||||
$"{SkillsFolder}/Data_Skill_Drog_도약_준비.asset",
|
||||
@@ -1050,6 +1054,8 @@ namespace Colosseum.Editor
|
||||
float force,
|
||||
float upwardForce,
|
||||
float duration,
|
||||
bool playHitAnimation,
|
||||
float hitAnimationSpeedMultiplier,
|
||||
AreaShapeType areaShape,
|
||||
float areaRadius,
|
||||
float fanOriginDistance,
|
||||
@@ -1064,6 +1070,36 @@ namespace Colosseum.Editor
|
||||
serializedObject.FindProperty("force").floatValue = force;
|
||||
serializedObject.FindProperty("upwardForce").floatValue = upwardForce;
|
||||
serializedObject.FindProperty("duration").floatValue = duration;
|
||||
serializedObject.FindProperty("playHitAnimation").boolValue = playHitAnimation;
|
||||
serializedObject.FindProperty("hitAnimationSpeedMultiplier").floatValue = hitAnimationSpeedMultiplier;
|
||||
serializedObject.ApplyModifiedPropertiesWithoutUndo();
|
||||
|
||||
EditorUtility.SetDirty(effect);
|
||||
return effect;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 범위 경직 효과를 생성하거나 갱신합니다.
|
||||
/// </summary>
|
||||
private static StaggerEffect CreateStaggerEffect(
|
||||
string path,
|
||||
float duration,
|
||||
bool playHitAnimation,
|
||||
float hitAnimationSpeedMultiplier,
|
||||
AreaShapeType areaShape,
|
||||
float areaRadius,
|
||||
float fanOriginDistance,
|
||||
float fanRadius,
|
||||
float fanHalfAngle,
|
||||
AreaCenterType areaCenter)
|
||||
{
|
||||
StaggerEffect effect = LoadOrCreateAsset<StaggerEffect>(path);
|
||||
SerializedObject serializedObject = new SerializedObject(effect);
|
||||
|
||||
ConfigureAreaEffect(serializedObject, areaShape, areaRadius, fanOriginDistance, fanRadius, fanHalfAngle, areaCenter);
|
||||
serializedObject.FindProperty("duration").floatValue = duration;
|
||||
serializedObject.FindProperty("playHitAnimation").boolValue = playHitAnimation;
|
||||
serializedObject.FindProperty("hitAnimationSpeedMultiplier").floatValue = hitAnimationSpeedMultiplier;
|
||||
serializedObject.ApplyModifiedPropertiesWithoutUndo();
|
||||
|
||||
EditorUtility.SetDirty(effect);
|
||||
|
||||
Reference in New Issue
Block a user