For internal use only.
Inheritance: UnityEngine.MonoBehaviour
コード例 #1
0
        public void AddClientSide(NetworkViewID recieverId, NetworkMessageInfo info)
        {
            NetworkViewID senderViewId = Network.AllocateViewID();

            this.glNetworkView.RPC("AddServerSide", info.sender, senderViewId);

            NetworkPlayer            player   = info.sender;
            ConnectionId             playerid = NetworkPlayerToConnectionId(player);
            SingleEndpointConnection endpoint = mKnownPlayers[playerid];

            NetworkView reciever = endpoint.gameObject.AddComponent <NetworkView>();

            reciever.viewID = recieverId;
            reciever.stateSynchronization = NetworkStateSynchronization.Unreliable;

            NetworkView sender = endpoint.gameObject.AddComponent <NetworkView>();

            sender.viewID = senderViewId;
            sender.stateSynchronization = NetworkStateSynchronization.Unreliable;

            endpoint.Receiver = reciever;
            endpoint.Sender   = sender;
            endpoint.Init();


            Debug.Log("Connection to " + playerid + " initialized");
            NetworkEvent ev = new NetworkEvent(NetEventType.NewConnection, playerid, null);

            mEvents.Enqueue(ev);
        }
コード例 #2
0
        public void InitializeConnection(NetworkPlayer player)
        {
            //this runs on server side
            Debug.Log("New client connected. Initializing ...");
            ConnectionId playerid = NextConnectionId();

            mPlayerToConnectionId[player] = playerid;


            GameObject go = new GameObject("UnityPlayerConnection" + player);

            go.transform.parent = this.gameObject.transform;
            SingleEndpointConnection connection = go.AddComponent <SingleEndpointConnection>();

            connection.Parent        = this;
            connection.ConnectedUser = player;


            NetworkView sender = connection.gameObject.AddComponent <NetworkView>();

            sender.viewID = Network.AllocateViewID();
            //sender.observed = this;
            sender.stateSynchronization = NetworkStateSynchronization.Unreliable;

            //immediately turn off the sender on server side as it would spam to every client by default.
            //it will be turned on for the correct state after the client confirmed the createn of the counterpart
            for (int i = 0; i < Network.connections.Length; i++)
            {
                sender.SetScope(Network.connections[i], false);
            }

            connection.Sender       = sender;
            mKnownPlayers[playerid] = connection;
            this.glNetworkView.RPC("AddClientSide", player, sender.viewID);
        }
コード例 #3
0
        public void Disconnect(ConnectionId id)
        {
            SingleEndpointConnection esc = null;

            mKnownPlayers.TryGetValue(id, out esc);
            if (esc != null)
            {
                Network.CloseConnection(esc.ConnectedUser, true);
            }
        }
コード例 #4
0
        public void AddServerSide(NetworkViewID id, NetworkMessageInfo info)
        {
            ConnectionId             playerid = NetworkPlayerToConnectionId(info.sender);
            SingleEndpointConnection endpoint = mKnownPlayers[playerid];

            NetworkView reciever = endpoint.gameObject.AddComponent <NetworkView>();

            reciever.viewID = id;
            //reciever.observed = this;
            reciever.stateSynchronization = NetworkStateSynchronization.Unreliable;

            endpoint.Receiver = reciever;
            endpoint.Init();



            Debug.Log("Connection to " + playerid + " initialized");

            mPlayerToConnectionId[info.sender] = playerid;
            NetworkEvent ev = new NetworkEvent(NetEventType.NewConnection, playerid, null);

            mEvents.Enqueue(ev);
        }
コード例 #5
0
        private void OnConnectedToServer()
        {
            mDebugConnecting = false;

            Debug.Log("Connected to server.  Initializing ...");

            for (int i = 0; i < Network.connections.Length; i++)
            {
                NetworkPlayer player = Network.connections[i];
                GameObject    go     = new GameObject("UnityPlayerConnection" + player);
                go.transform.parent = this.gameObject.transform;
                SingleEndpointConnection connection = go.AddComponent <SingleEndpointConnection>();
                connection.Parent        = this;
                connection.ConnectedUser = player;

                ConnectionId playerid = NextConnectionId();
                mPlayerToConnectionId[player] = playerid;
                mKnownPlayers[playerid]       = connection;
            }



            this.glNetworkView.RPC("InitializeConnection", RPCMode.Server, Network.player);
        }