Код: Выделить всё
using Niantic.Lightship.SharedAR.Colocalization;
using TMPro;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.UI;
public class NetworkDemoManager : MonoBehaviour
{
[SerializeField] private TextMeshProUGUI _statusText;
[SerializeField] private Button _joinAsHostButton;
[SerializeField] private Button _joinAsClientButton;
[SerializeField] private SharedSpaceManager _sharedSpaceManager;
[SerializeField] private Texture2D _targetImage;
[SerializeField] private float _targetImageSize;
public bool trackingState = false;
void Start()
{
_joinAsClientButton.onClick.AddListener(JoinAsClientButtonOnClicked);
_joinAsHostButton.onClick.AddListener(JoinAsHostButtonOnClicked);
NetworkManager.Singleton.OnClientConnectedCallback += OnClientConnectedCallback;
_sharedSpaceManager.sharedSpaceManagerStateChanged += OnColocalizationTrackingStateChanged;
StartRoom();
}
private void StartRoom()
{
var imageTrackingArgs = ISharedSpaceTrackingOptions.CreateImageTrackingOptions(_targetImage, _targetImageSize);
var roomArgs = ISharedSpaceRoomOptions.CreateLightshipRoomOptions(
"ImageTrackingRoom",
10,
""
);
_sharedSpaceManager.StartSharedSpace(imageTrackingArgs, roomArgs);
_statusText.text = "Room Started";
}
private void JoinAsHostButtonOnClicked()
{
NetworkManager.Singleton.StartHost();
HideButton();
}
private void JoinAsClientButtonOnClicked()
{
NetworkManager.Singleton.StartClient();
HideButton();
}
private void OnColocalizationTrackingStateChanged(SharedSpaceManager.SharedSpaceManagerStateChangeEventArgs args)
{
Debug.Log("Tracking state: " + args.Tracking);
if (args.Tracking)
{
trackingState = true;
_joinAsClientButton.gameObject.SetActive(true);
_joinAsHostButton.gameObject.SetActive(true);
}
}
private void HideButton()
{
_joinAsHostButton.gameObject.SetActive(false);
_joinAsClientButton.gameObject.SetActive(false);
}
private void OnClientConnectedCallback(ulong clientId)
{
Debug.Log($"Client connected with ID {clientId}");
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-playback
Мобильная версия