87 lines
3.4 KiB
C#
87 lines
3.4 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
using Unity.Netcode;
|
|
using Northbound;
|
|
|
|
public class NetworkDebug : MonoBehaviour
|
|
{
|
|
private void Start()
|
|
{
|
|
Debug.Log("=== NETWORK DEBUG INFO ===");
|
|
|
|
// 1. NetworkManager 상태
|
|
if (NetworkManager.Singleton != null)
|
|
{
|
|
Debug.Log($"NetworkManager: IsServer={NetworkManager.Singleton.IsServer}, IsClient={NetworkManager.Singleton.IsClient}, IsHost={NetworkManager.Singleton.IsHost}");
|
|
}
|
|
|
|
// 2. 스폰 포인트 검색
|
|
PlayerSpawnPoint[] spawnPoints = FindObjectsByType<PlayerSpawnPoint>(FindObjectsSortMode.None);
|
|
Debug.Log($"PlayerSpawnPoints: Found {spawnPoints.Length} objects");
|
|
foreach (var sp in spawnPoints)
|
|
{
|
|
Debug.Log($" - {sp.name} at {sp.transform.position}, isAvailable={sp.isAvailable}, spawnIndex={sp.spawnIndex}");
|
|
}
|
|
|
|
// 3. NetworkConnectionHandler 확인
|
|
var connectionHandler = FindFirstObjectByType<NetworkConnectionHandler>();
|
|
if (connectionHandler != null)
|
|
{
|
|
Debug.Log($"NetworkConnectionHandler: spawnPoints.Count={connectionHandler.spawnPoints.Count}, findAuto={connectionHandler.findSpawnPointsAutomatically}");
|
|
}
|
|
|
|
// 4. NetworkSpawnManager 확인
|
|
var spawnManager = FindFirstObjectByType<Northbound.NetworkSpawnManager>();
|
|
if (spawnManager != null)
|
|
{
|
|
Debug.Log($"NetworkSpawnManager: spawnPoints.Count={spawnManager.spawnPoints.Count}, findAuto={spawnManager.findSpawnPointsAutomatically}");
|
|
}
|
|
|
|
// 플레이어가 스폰될 때까지 대기
|
|
StartCoroutine(CheckPlayerAfterSpawn());
|
|
}
|
|
|
|
private IEnumerator CheckPlayerAfterSpawn()
|
|
{
|
|
// 플레이어가 스폰될 때까지 최대 5초 대기
|
|
for (int i = 0; i < 50; i++)
|
|
{
|
|
yield return new WaitForSeconds(0.1f);
|
|
|
|
var players = GameObject.FindObjectsByType<NetworkPlayerController>(FindObjectsSortMode.None);
|
|
if (players != null && players.Length > 0)
|
|
{
|
|
Debug.Log($"Found {players.Length} player(s) - checking equipment...");
|
|
|
|
foreach (var playerCtrl in players)
|
|
{
|
|
Debug.Log($"Player found: {playerCtrl.name}, IsOwner={playerCtrl.IsOwner}");
|
|
|
|
var equipmentSocketOnPlayer = playerCtrl.GetComponent<Northbound.EquipmentSocket>();
|
|
var networkEquipSocketOnPlayer = playerCtrl.GetComponent<Northbound.NetworkEquipmentSocket>();
|
|
|
|
if (equipmentSocketOnPlayer != null)
|
|
Debug.Log($"Player has EquipmentSocket: YES");
|
|
else
|
|
Debug.LogWarning($"Player has EquipmentSocket: NO");
|
|
|
|
if (networkEquipSocketOnPlayer != null)
|
|
Debug.Log($"Player has NetworkEquipmentSocket: YES");
|
|
else
|
|
Debug.LogWarning($"Player has NetworkEquipmentSocket: NO");
|
|
}
|
|
|
|
Debug.Log("=== DEBUG INFO END ===");
|
|
yield break;
|
|
}
|
|
}
|
|
|
|
// 5초 후에도 플레이어가 없는지 확인
|
|
var finalCheck = GameObject.FindObjectsByType<NetworkPlayerController>(FindObjectsSortMode.None);
|
|
if (finalCheck == null || finalCheck.Length == 0)
|
|
{
|
|
Debug.LogWarning($"Player did not spawn within 5 seconds!");
|
|
}
|
|
}
|
|
}
|