추격 포기로 인한 복귀 시, 복귀하는 동안 무적 상태 + 체력 전체 회복

This commit is contained in:
2026-02-25 21:13:06 +09:00
parent d066290607
commit 34ab12a093
2 changed files with 43 additions and 0 deletions

View File

@@ -36,6 +36,12 @@ namespace Northbound
NetworkVariableWritePermission.Server
);
private NetworkVariable<bool> _isInvulnerable = new NetworkVariable<bool>(
false,
NetworkVariableReadPermission.Everyone,
NetworkVariableWritePermission.Server
);
/// <summary>
/// 사망 시 발생하는 이벤트 (매개변수: killerId)
/// </summary>
@@ -106,6 +112,9 @@ namespace Northbound
if (!IsServer) return;
if (_currentHealth.Value <= 0) return;
// 무적 상태면 데미지 무시
if (_isInvulnerable.Value) return;
// 공격자의 팀 확인
if (NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(attackerId, out NetworkObject attackerObj))
{
@@ -207,6 +216,24 @@ namespace Northbound
#endregion
#region Invulnerability & Healing
public bool IsInvulnerable() => _isInvulnerable.Value;
public void SetInvulnerable(bool value)
{
if (!IsServer) return;
_isInvulnerable.Value = value;
}
public void HealToFull()
{
if (!IsServer) return;
_currentHealth.Value = maxHealth;
}
#endregion
private void OnDrawGizmosSelected()
{
#if UNITY_EDITOR