using System; using FishNet; using FishNet.Connection; using FishNet.Managing.Scened; using FishNet.Object; using FishNet.Transporting; using UnityEngine; public class SSOLobby : NetworkBehaviour { #region Init & Update void Start() { Locator.RegisterService(this); // Register connection state events InstanceFinder.ServerManager.OnServerConnectionState += OnServerStateChanged; InstanceFinder.ServerManager.OnRemoteConnectionState += OnClienStateChanged; InstanceFinder.ClientManager.OnClientConnectionState += OnLocalClientStateChanged; base.NetworkManager.SceneManager.OnLoadEnd += OnClientLoadedScene; base.NetworkManager.SceneManager.OnClientPresenceChangeEnd += OnClientSceneState; } public override void OnStartClient() { Locator.GetService().InitClient(this); } public override void OnStopServer() { base.OnStopServer(); base.NetworkManager.SceneManager.OnLoadEnd -= OnClientLoadedScene; base.NetworkManager.SceneManager.OnClientPresenceChangeEnd -= OnClientSceneState; } #endregion #region Events private void OnClientSceneState(ClientPresenceChangeEventArgs args) { throw new NotImplementedException(); } private void OnClientLoadedScene(SceneLoadEndEventArgs args) { throw new NotImplementedException(); } private void OnLocalClientStateChanged(ClientConnectionStateArgs args) { throw new NotImplementedException(); } private void OnClienStateChanged(NetworkConnection connection, RemoteConnectionStateArgs args) { throw new NotImplementedException(); } private void OnServerStateChanged(ServerConnectionStateArgs args) { throw new NotImplementedException(); } #endregion }