Files
Learning-UnityNGO/Assets/CONTENT/FEATURES/DEV-TEST/Scripts/PlayerController.cs
T

39 lines
1.1 KiB
C#

using Unity.Netcode;
using UnityEngine;
public class PlayerController : NetworkBehaviour
{
[SerializeField] private Camera playerCamera;
[SerializeField] private Camera playerHandCamera;
[SerializeField] private GameObject tpvHands;
[SerializeField] private GameObject fpvHands;
[Header("Colors")]
[SerializeField] private Color ownerColor = Color.blue;
[SerializeField] private Color otherPlayerColor = Color.red;
public override void OnNetworkSpawn()
{
if (playerCamera != null)
{
playerCamera.enabled = IsOwner;
playerHandCamera.enabled = IsOwner;
playerCamera.GetComponent<AudioListener>().enabled = IsOwner;
fpvHands.SetActive(IsOwner);
tpvHands.SetActive(!IsOwner);
}
if (IsOwner)
{
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
Color playerColor = IsOwner ? ownerColor : otherPlayerColor;
foreach (MeshRenderer meshRenderer in GetComponentsInChildren<MeshRenderer>())
{
meshRenderer.material.color = playerColor;
}
}
}