Files
virtualclassroomdhbw/Assets/Scripts/Classroom/Network/PlayerComponentNetworkSync.cs
T
2024-10-29 17:16:17 +01:00

30 lines
932 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using Unity.Netcode;
using UnityEngine;
//this script syncs player components position and rotation in a local space
public class PlayerComponentNetworkSync : NetworkBehaviour
{
private NetworkVariable<Vector3> pos = new NetworkVariable<Vector3>(writePerm: NetworkVariableWritePermission.Owner);
private NetworkVariable<Quaternion> rot = new NetworkVariable<Quaternion>(writePerm:NetworkVariableWritePermission.Owner);
private void Update()
{
//the owner of the player object should write to the network variable, all others should read it
if (IsOwner)
{
pos.Value = transform.localPosition;
rot.Value = transform.localRotation;
}
else
{
transform.localPosition = pos.Value;
transform.localRotation = rot.Value;
}
}
}