2026-04-08 스킬시스템 진행중, 폴더구조 변경등
This commit is contained in:
@@ -1 +1 @@
|
||||
public enum PlayerState { Idle, Walk, Run, Dodge, Jump, Fall, Attack, Charge, Hit, Dead, Inertia, Action, Trans, None }
|
||||
public enum PlayerState { Idle, Walk, Run, Dodge, Jump, Fall, Attack, Charge, Cast, Channel, Hit, Dead, Inertia, Action, Trans, None }
|
||||
@@ -57,7 +57,7 @@ public void SetMaxJumpCount(int maxCount)
|
||||
|
||||
#region 상태확인용 헬퍼함수들
|
||||
//지상 이동이 가능한가?
|
||||
public bool CanMove() => IsGrounded && !IsMoveCut && (CurrentState == PlayerState.Idle || CurrentState == PlayerState.Walk || CurrentState == PlayerState.Run) && (CurrentState != PlayerState.Inertia && CurrentState != PlayerState.Action && CurrentState != PlayerState.Trans);
|
||||
public bool CanMove() => IsGrounded && !IsMoveCut && (CurrentState == PlayerState.Idle || CurrentState == PlayerState.Walk || CurrentState == PlayerState.Run) && (CurrentState != PlayerState.Inertia && CurrentState != PlayerState.Action && CurrentState != PlayerState.Trans && CurrentState != PlayerState.Cast && CurrentState != PlayerState.Channel);
|
||||
//점프가 가능한 상태인가?
|
||||
public bool CanJump()
|
||||
{
|
||||
@@ -81,6 +81,7 @@ public bool CanDodge()
|
||||
if (CurrentState == PlayerState.Inertia) return false;
|
||||
if (CurrentState == PlayerState.Action) return false;
|
||||
if (CurrentState == PlayerState.Trans) return false;
|
||||
if (CurrentState == PlayerState.Cast || CurrentState == PlayerState.Channel) return false;
|
||||
|
||||
// 스태미나 시스템이 있다면 체크
|
||||
// if (CurrentStamina < DodgeCost) return false;
|
||||
@@ -92,8 +93,9 @@ public bool CanDodge()
|
||||
//공격이 가능한 상태인가?
|
||||
public bool CanAttack()
|
||||
{
|
||||
//이미 공격 중이거나 차징 중이면 공격 불가 (연속기가 있다면 바뀔수 있음)
|
||||
if (CurrentState == PlayerState.Attack || CurrentState == PlayerState.Charge)
|
||||
//이미 공격 중이거나 차징/캐스팅/채널링 중이면 공격 불가
|
||||
if (CurrentState == PlayerState.Attack || CurrentState == PlayerState.Charge
|
||||
|| CurrentState == PlayerState.Cast || CurrentState == PlayerState.Channel)
|
||||
return false;
|
||||
|
||||
//피격(Hit) 중이거나 죽었다면(Dead) 공격 불가
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class PlayerHealth : Health
|
||||
public class PlayerHealth : Health, IDamageable
|
||||
{
|
||||
[SerializeField] PlayerStat _pstat;
|
||||
|
||||
@@ -33,6 +33,13 @@ private void Update()
|
||||
|
||||
public void TakeDamage(int damage)
|
||||
{
|
||||
ChangeHP(currentHp - Mathf.Clamp(damage,0,currentHp));
|
||||
ChangeHP(currentHp - Mathf.Clamp(damage, 0, currentHp));
|
||||
}
|
||||
|
||||
public void TakeDamage(int damage, Transform source)
|
||||
{
|
||||
TakeDamage(damage);
|
||||
}
|
||||
|
||||
public Transform GetTransform() => transform;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user