// Update is called once per frame
    void Update()
    {
        if (CAVE2.IsMaster())
        {
            if (networkWaitTimer <= 0)
            {
#if USING_GETREAL3D
                ICollection keys = spawnedPlayerList.Keys;
                foreach (int netID in keys)
                {
                    GameObject g = spawnedPlayerList[netID] as GameObject;


                    NetworkedVRPlayerManager netPlayer = g.GetComponent <NetworkedVRPlayerManager>();
                    getReal3D.RpcManager.call("UpdateNetworkPlayerRPC", netID, netPlayer.playerPosition, netPlayer.playerRotation, netPlayer.headPosition, netPlayer.headRotation);
                }
#endif
            }
            networkWaitTimer = networkUpdateDelay;
        }
        else
        {
            networkWaitTimer -= Time.deltaTime;
        }
    }
Ejemplo n.º 2
0
    void Start()
    {
        LobbyManager            = this;
        serverAddressField.text = networkAddress;

        NetworkedVRPlayerManager playerInfo = lobbyPlayerPrefab.GetComponent <NetworkedVRPlayerManager>();
        string playerType = playerInfo.localPlayerControllerPrefab.GetComponent <VRPlayerWrapper>().GetVRTypeLabel();

        localPlayerTypeText.text = "Player type '" + playerType + "' detected";

        if (PlayerPrefs.GetString("ServerIPAddress").Length > 0)
        {
            serverAddressField.text = PlayerPrefs.GetString("ServerIPAddress");
        }
        if (PlayerPrefs.GetString("LocalPlayerName").Length > 0)
        {
            localPlayerNameField.text = PlayerPrefs.GetString("LocalPlayerName");
            playerName = localPlayerNameField.text;
        }

        if (!CAVE2.IsMaster())
        {
            StartHost();
        }
    }
 void UpdateNetworkPlayerRPC(int netID, Vector3 position, Quaternion rotation, Vector3 headPos, Quaternion headRot)
 {
     if (clientPlayerList.ContainsKey(netID))
     {
         NetworkedVRPlayerManager vrNetPlayer = clientPlayerList[netID] as NetworkedVRPlayerManager;
         vrNetPlayer.playerPosition = new Vector3(position.x, position.y, position.z);
         vrNetPlayer.playerRotation = rotation;
         vrNetPlayer.headPosition   = headPos;
         vrNetPlayer.headRotation   = headRot;
     }
 }
    public void SpawnNetworkPlayerOnCAVE2(GameObject source)
    {
        NetworkedVRPlayerManager player = source.GetComponent <NetworkedVRPlayerManager>();
        int netID = (int)player.networkID;

        if (!spawnedPlayerList.ContainsKey(netID))
        {
#if USING_GETREAL3D
            getReal3D.RpcManager.call("SpawnNetworkPlayerRPC", netID, player.playerName, player.playerType);
#endif
            Debug.Log("Added " + netID + " to list");
            spawnedPlayerList.Add(netID, source);
        }
    }
    void SpawnNetworkPlayerRPC(int netID, string playerName, string playerType)
    {
        Debug.Log("Added " + netID + " to CAVE2 display client");

        GameObject newNetPlayer = Instantiate(lobbyManager.gamePlayerPrefab) as GameObject;

        newNetPlayer.name = "CAVE2 Client (remote " + netID + ")";

        NetworkedVRPlayerManager vrNetPlayer = newNetPlayer.GetComponent <NetworkedVRPlayerManager>();

        vrNetPlayer.playerName = playerName;
        vrNetPlayer.playerType = playerType;
        vrNetPlayer.SetNetID((uint)netID);

        clientPlayerList.Add(netID, vrNetPlayer);
    }