示例#1
0
 public void OnRemoveClient(VNetClient clientUID)
 {
     foreach (VNetTransform trans in m_networkTransforms.Values)
     {
         if (trans.isRemoteControlled && trans.controllingClient == clientUID.GetUID())
         {
             trans.RemoteRevokeControl();
         }
     }
 }
示例#2
0
    public void OnNewClient(VNetClient clientUID)
    {
        int numSynced = 0;
        VNetMessageTransformControl controlMessage = new VNetMessageTransformControl();

        foreach (VNetTransform trans in m_networkTransforms.Values)
        {
            if (trans.controllingClient != VNet.Inst.GetUID())
            {
                continue;
            }

            controlMessage.transformUID = trans.netIdentifier;
            controlMessage.clientUID    = VNet.Inst.GetUID();
            controlMessage.requestTime  = trans.localControlStartTime;
            numSynced++;
            clientUID.SendNetMessage(controlMessage, true);
        }

        Debug.Log("Syncing " + numSynced + " VNetTransforms for new client!");
    }