public NetworkConnectionHandler(ILogger logger, INetworkConnectionManager connectionManager, INetworkConnectionProvider connectionProvider, INetworkSessionManager sessionManager, INetworkSessionProvider sessionProvider) { this.logger = logger; this.connectionManager = connectionManager; this.connectionProvider = connectionProvider; this.sessionManager = sessionManager; this.sessionProvider = sessionProvider; }
private void OnDestroy() { connectionManager.DisconnectAll(); connectionManager.OnConnected -= OnNetConnected; connectionManager.OnDisconnected -= OnNetDisconnected; connectionManager.OnReceive -= OnNetReceived; connectionManager = null; Destroy(connectionManagerGameObject); connectionManagerGameObject = null; }
private void Start() { connectionManagerGameObject = Instantiate(connectionManagerPrefab); connectionManager = connectionManagerGameObject.GetComponent <INetworkConnectionManager>(); connectionManager.OnConnected += OnNetConnected; connectionManager.OnDisconnected += OnNetDisconnected; connectionManager.OnReceive += OnNetReceived; if (runAsServer) { connectionManager.StartListening(serverPort); } else { connectionManager.ConnectTo(serverAddress, serverPort); } }
/// <summary> /// Initialise and configure the StructureMap /// </summary> public Connection() { this._disposed = false; this._ignoreDispatcher = true; this._packetParsers = new Dictionary<int, IParser>(); this._registeredEvents = new Dictionary<int, List<delegateNetworkEvent>>(); this._header = new HeaderCollection(); this._header.Add(new Header("ver", 1)); NetworkPacket.DefaultHeader = this._header; this.RegisterPacketParser((int)CorePacketCode.CollectionChanged, new CollectionChangedParser()); this.RegisterPacketParser((int)CorePacketCode.PropertyUpdated, new PropertyChangedParser()); this.RegisterEvent((int)CorePacketCode.AssignNewHeaderValue, AssignValueInHeader); ObjectFactory.Initialize(x => { x.For<INetwork>().Singleton().Use(this); x.AddRegistry<NetworkRegistry>(); }); IList<INetworkConnectionManager> listManagers = ObjectFactory.GetAllInstances<INetworkConnectionManager>(); if (listManagers.Count == 0) throw new NullReferenceException("No valid connection plugins were found in neither the plugin folder or the plugins."); else _connectionManager = listManagers[0]; }