This commit is contained in:
2025-06-16 15:14:23 +02:00
committed by devbeni
parent 60fe4620ff
commit 4ff561284f
3174 changed files with 428263 additions and 0 deletions

View File

@ -0,0 +1,59 @@
using UnityEngine;
namespace Mirror.Examples.CharacterSelection
{
public class SceneCamera : NetworkBehaviour
{
[Header("Components")]
[SerializeField] CharacterSelection characterSelection;
[SerializeField] Transform cameraTarget;
[Header("Diagnostics")]
[ReadOnly, SerializeField] SceneReferencer sceneReferencer;
[ReadOnly, SerializeField] Transform cameraObj;
protected override void OnValidate()
{
base.OnValidate();
Reset();
}
void Reset()
{
characterSelection = GetComponent<CharacterSelection>();
cameraTarget = transform.Find("CameraTarget");
this.enabled = false;
}
public override void OnStartAuthority()
{
#if UNITY_2022_2_OR_NEWER
sceneReferencer = GameObject.FindAnyObjectByType<SceneReferencer>();
#else
// Deprecated in Unity 2023.1
sceneReferencer = GameObject.FindObjectOfType<SceneReferencer>();
#endif
cameraObj = sceneReferencer.cameraObject.transform;
this.enabled = true;
}
public override void OnStopAuthority()
{
this.enabled = false;
}
void Update()
{
if (!Application.isFocused)
return;
if (cameraObj && characterSelection)
characterSelection.floatingInfo.forward = cameraObj.transform.forward;
if (cameraObj && cameraTarget)
cameraObj.SetPositionAndRotation(cameraTarget.position, cameraTarget.rotation);
}
}
}