플레이어의 공격 기능 추가
EnemyUnit에 Collider 강제
This commit is contained in:
@@ -67,7 +67,6 @@ namespace Northbound
|
||||
{
|
||||
if (!TeamManager.CanAttack(_teamMember, targetTeamMember))
|
||||
{
|
||||
Debug.Log($"<color=yellow>[AttackAction] {TeamManager.GetTeamName(_teamMember.GetTeam())} 팀은 {TeamManager.GetTeamName(targetTeamMember.GetTeam())} 팀을 공격할 수 없습니다.</color>");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -75,21 +74,19 @@ namespace Northbound
|
||||
var netObj = hit.GetComponent<NetworkObject>();
|
||||
if (netObj != null)
|
||||
{
|
||||
AttackServerRpc(playerId, netObj.NetworkObjectId);
|
||||
AttackServerRpc(NetworkObjectId, netObj.NetworkObjectId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log($"<color=cyan>[AttackAction] 플레이어 {playerId} ({TeamManager.GetTeamName(_teamMember?.GetTeam() ?? TeamType.Neutral)}) 공격!</color>");
|
||||
}
|
||||
|
||||
[Rpc(SendTo.Server, InvokePermission = RpcInvokePermission.Everyone)]
|
||||
private void AttackServerRpc(ulong playerId, ulong targetNetworkId)
|
||||
private void AttackServerRpc(ulong attackerNetworkId, ulong targetNetworkId)
|
||||
{
|
||||
if (NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(targetNetworkId, out NetworkObject targetObj))
|
||||
{
|
||||
var damageable = targetObj.GetComponent<IDamageable>();
|
||||
damageable?.TakeDamage(attackDamage, playerId);
|
||||
damageable?.TakeDamage(attackDamage, attackerNetworkId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user