コード例 #1
0
    public void Allocate(string _requestKey, NetworkView _networkView, Action _callback)
    {
        NetworkViewID _bufferedViewID;
        if (mAllocationBuffer.TryGetValue(_requestKey, out _bufferedViewID))
        {
            _networkView.viewID = _bufferedViewID;
            return;
        }

        if (mAllocateRequests.ContainsKey(_requestKey))
        {
            Debug.Log("Request " + _requestKey + " is incomplete. Please wait.");
            return;
        }

        if (Network.isServer)
        {
            _networkView.viewID = Network.AllocateViewID();
            mAllocationBuffer.Add(_requestKey, _networkView.viewID);
        }
        else if (Network.isClient)
        {
            var _job = new AllocationJob();
            _job.networkView = _networkView;
            _job.callback = _callback;
            mAllocateRequests.Add(_requestKey, _job);
            networkView.RPC("NetworkViewAllocator_RequestViewID", RPCMode.Server, Network.player, _requestKey);
        }
        else
        {
            Debug.Log("The connect is not established yet, try after connected to server.");
            return;
        }
    }
コード例 #2
0
    public void Allocate(string _requestKey, NetworkView _networkView, Action _callback)
    {
        NetworkViewID _bufferedViewID;

        if (mAllocationBuffer.TryGetValue(_requestKey, out _bufferedViewID))
        {
            _networkView.viewID = _bufferedViewID;
            return;
        }

        if (mAllocateRequests.ContainsKey(_requestKey))
        {
            Debug.Log("Request " + _requestKey + " is incomplete. Please wait.");
            return;
        }

        if (Network.isServer)
        {
            _networkView.viewID = Network.AllocateViewID();
            mAllocationBuffer.Add(_requestKey, _networkView.viewID);
        }
        else if (Network.isClient)
        {
            var _job = new AllocationJob();
            _job.networkView = _networkView;
            _job.callback    = _callback;
            mAllocateRequests.Add(_requestKey, _job);
            networkView.RPC("NetworkViewAllocator_RequestViewID", RPCMode.Server, Network.player, _requestKey);
        }
        else
        {
            Debug.Log("The connect is not established yet, try after connected to server.");
            return;
        }
    }