Exemplo n.º 1
0
    public static GameObject CreateGameObject(AdditionalContainer ac, NetContainer nc)
    {
        var container = FindObjectOfType <SumoContainer>();

        if (container != null)
        {
            DestroyImmediate(container.gameObject);
        }
        container         = new GameObject("SumoContainer").AddComponent <SumoContainer>();
        container.busInfo = ac;
        container.netInfo = nc;
        return(container.gameObject);
    }
Exemplo n.º 2
0
        private NetContainer GetNetworkManager(ushort id, bool isClient)
        {
            NetContainer container;

            if (id == 0)
            {
                Assert.Fail("Id cannot be 0");
            }

            var key = isClient ? id : (uint)id << 16;

            if (!_managers.TryGetValue(key, out container))
            {
                var listener = new EventBasedNetListener();
                listener.ConnectionRequestEvent += request =>
                {
                    var keyd = System.Text.Encoding.UTF8.GetBytes(_appKey);
                    if (request.Data.SequenceEqual(keyd))
                    {
                        request.Accept();
                    }
                };
                NetManager netManager;
                if (isClient)
                {
                    netManager = new NetManager(listener);
                    if (!netManager.Start())
                    {
                        Assert.Fail($"Client {id} start failed");
                    }
                }
                else
                {
                    netManager = new NetManager(listener);
                    if (!netManager.Start(_serverPort))
                    {
                        Assert.Fail($"Server {id} on port{_serverPort} start failed");
                    }
                }

                container      = new NetContainer(netManager, listener);
                _managers[key] = container;
            }

            return(container);
        }
Exemplo n.º 3
0
        private NetContainer GetNetworkManager(ushort id, bool isClient)
        {
            NetContainer container;

            if (id == 0)
            {
                Assert.Fail("Id cannot be 0");
            }

            var key = isClient ? id : (uint)id << 16;

            if (!_managers.TryGetValue(key, out container))
            {
                var listener = new EventBasedNetListener();
                listener.ConnectionRequestEvent += request =>
                {
                    request.AcceptIfKey(_appKey);
                };
                NetManager netManager = new NetManager(listener);
                netManager.EnableChecksums = true;
                if (isClient)
                {
                    if (!netManager.Start())
                    {
                        Assert.Fail($"Client {id} start failed");
                    }
                }
                else
                {
                    if (!netManager.Start(_serverPort))
                    {
                        Assert.Fail($"Server {id} on port{_serverPort} start failed");
                    }
                }

                container      = new NetContainer(netManager, listener);
                _managers[key] = container;
            }

            return(container);
        }