기존 시스템 재사용 프로토타입 보존

This commit is contained in:
2026-09-01 08:56:15 +09:00
parent 2f6e80fd57
commit b95c5bdb13
58 changed files with 714 additions and 3298 deletions
+25 -13
View File
@@ -17,6 +17,8 @@ namespace Northbound
private Dictionary<ulong, int> _clientSpawnIndices = new Dictionary<ulong, int>();
private int _nextSpawnIndex = 0;
private NetworkManager _networkManager;
private bool _callbacksRegistered;
// ⭐ Awake에서 스폰 포인트 먼저 찾고, 콜백 등록
private void Awake()
@@ -28,15 +30,25 @@ namespace Northbound
}
// 2️⃣ 그 다음 콜백 등록
if (NetworkManager.Singleton != null)
{
NetworkManager.Singleton.ConnectionApprovalCallback = ApprovalCheck;
NetworkManager.Singleton.OnServerStarted += OnServerStarted;
NetworkManager.Singleton.OnClientConnectedCallback += OnClientConnected;
}
else
{
}
RegisterCallbacks();
}
private void Start()
{
RegisterCallbacks();
}
private void RegisterCallbacks()
{
if (_callbacksRegistered) return;
_networkManager = GetComponent<NetworkManager>();
if (_networkManager == null) _networkManager = NetworkManager.Singleton;
if (_networkManager == null) return;
_networkManager.ConnectionApprovalCallback = ApprovalCheck;
_networkManager.OnServerStarted += OnServerStarted;
_networkManager.OnClientConnectedCallback += OnClientConnected;
_callbacksRegistered = true;
}
private void FindSpawnPoints()
@@ -192,11 +204,11 @@ namespace Northbound
private void OnDestroy()
{
if (NetworkManager.Singleton != null)
if (_callbacksRegistered && _networkManager != null)
{
NetworkManager.Singleton.ConnectionApprovalCallback = null;
NetworkManager.Singleton.OnServerStarted -= OnServerStarted;
NetworkManager.Singleton.OnClientConnectedCallback -= OnClientConnected;
_networkManager.ConnectionApprovalCallback = null;
_networkManager.OnServerStarted -= OnServerStarted;
_networkManager.OnClientConnectedCallback -= OnClientConnected;
}
}
}