Added UI and more
This commit is contained in:
@@ -3,16 +3,28 @@ using Unity.Netcode;
|
||||
|
||||
public class PitZone : NetworkBehaviour
|
||||
{
|
||||
// Индекс ямы. Игрок с таким же индексом — её "хозяин" (защитник).
|
||||
// Победа засчитывается тому, кто зашёл в ЧУЖУЮ яму (pitIndex != его индекс).
|
||||
[SerializeField] private int pitIndex;
|
||||
|
||||
private void OnTriggerEnter(Collider _other)
|
||||
{
|
||||
if (!IsServer) return;
|
||||
if (RoundManager.Current == null || !RoundManager.Current.IsRoundActive) return;
|
||||
|
||||
PlayerHealth _playerHealth = _other.GetComponent<PlayerHealth>();
|
||||
// Клон — засчитываем вход за его ОРИГИНАЛЬНОГО игрока.
|
||||
// Проверять надо ДО PlayerHealth: у клона он тоже есть,
|
||||
// но OwnerClientId клона — это сервер, а не игрок.
|
||||
GhostPlayer _ghost = _other.GetComponentInParent<GhostPlayer>();
|
||||
if (_ghost != null)
|
||||
{
|
||||
RoundManager.Current.OnPlayerEnteredPit(pitIndex, _ghost.OriginalOwnerId);
|
||||
return;
|
||||
}
|
||||
|
||||
PlayerHealth _playerHealth = _other.GetComponentInParent<PlayerHealth>();
|
||||
if (_playerHealth == null) return;
|
||||
|
||||
if(!RoundManager.Current.IsRoundActive) return;
|
||||
|
||||
RoundManager.Current.OnPlayerFellIntoPit(_playerHealth.OwnerClientId);
|
||||
RoundManager.Current.OnPlayerEnteredPit(pitIndex, _playerHealth.OwnerClientId);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user