from github
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Netcode;
|
||||
using Unity.XR.CoreUtils;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem.XR;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
using UnityEngine.XR.Interaction.Toolkit.Inputs;
|
||||
|
||||
//this script enables important components for the owners player
|
||||
//the components listed here should be active for others player objects
|
||||
//f.e.: unity will switch to other joined players camera if not handled
|
||||
|
||||
public class PlayerRemoveNetworkComps : NetworkBehaviour
|
||||
{
|
||||
|
||||
[SerializeField] private InputActionManager inputActionManager;
|
||||
[SerializeField] private XROrigin xrOrigin;
|
||||
[SerializeField] private Camera cam;
|
||||
[SerializeField] private AudioListener audioListener;
|
||||
[SerializeField] private ActionBasedController leftController;
|
||||
[SerializeField] private ActionBasedController rightController;
|
||||
[SerializeField] private XRRayInteractor leftRayInteractor;
|
||||
[SerializeField] private XRRayInteractor rightRayInteractor;
|
||||
[SerializeField] private XRInteractorLineVisual leftLineVisual;
|
||||
[SerializeField] private XRInteractorLineVisual rightLineVisual;
|
||||
[SerializeField] private Animator rightHandAnimator;
|
||||
[SerializeField] private Animator leftHandAnimator;
|
||||
[SerializeField] private SkinnedMeshRenderer leftHandRenderer;
|
||||
[SerializeField] private SkinnedMeshRenderer rightHandRenderer;
|
||||
[SerializeField] private LocomotionSystem locomotionSystem;
|
||||
[SerializeField] private ActionBasedContinuousMoveProvider moveProvider;
|
||||
[SerializeField] private ActionBasedContinuousTurnProvider turnProvider;
|
||||
[SerializeField] private TrackedPoseDriver trackedPoseDriver;
|
||||
[SerializeField] private GameObject menuBar;
|
||||
|
||||
public override void OnNetworkSpawn()
|
||||
{
|
||||
|
||||
if (IsOwner)
|
||||
{
|
||||
inputActionManager.enabled = true;
|
||||
xrOrigin.enabled = true;
|
||||
cam.enabled = true;
|
||||
audioListener.enabled = true;
|
||||
leftController.enabled = true;
|
||||
rightController.enabled = true;
|
||||
leftRayInteractor.enabled = true;
|
||||
rightRayInteractor.enabled = true;
|
||||
leftLineVisual.enabled = true;
|
||||
rightLineVisual.enabled = true;
|
||||
leftHandAnimator.enabled = true;
|
||||
rightHandAnimator.enabled = true;
|
||||
leftHandRenderer.enabled = true;
|
||||
rightHandRenderer.enabled = true;
|
||||
locomotionSystem.enabled = true;
|
||||
moveProvider.enabled = true;
|
||||
turnProvider.enabled = true;
|
||||
trackedPoseDriver.enabled = true;
|
||||
menuBar.SetActive(true);
|
||||
|
||||
//request all objects that have been already loaded from the server / host
|
||||
ObjectSync objSync = GameObject.Find("ObjectSpawner").GetComponent<ObjectSync>();
|
||||
objSync.syncListServerRPC(NetworkManager.Singleton.LocalClientId);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user