Решил я сделать мультиплеер , выдаёт такую ошибку NullReferenceException: Object reference not set to an instance of an object , вот скрипт ( 86 строка ) :
using System.Collections; using System.Collections.Generic; using UnityEngine; using Photon.Pun; using Photon.Realtime; using TMPro;
public class Launcher : MonoBehaviourPunCallbacks { public static Launcher instance;
public void LeaveRoom() { PhotonNetwork.LeaveRoom(); MenuManager.instance.OpenMenu("loading"); }
public override void OnLeftRoom() { MenuManager.instance.OpenMenu("title"); }
public void JoinRoom(RoomInfo info) { PhotonNetwork.JoinRoom( info.Name ); MenuManager.instance.OpenMenu("loading"); }
public override void OnRoomListUpdate(List<RoomInfo> roomList) { for (int i = 0; i < _roomList.childCount; i++) { Destroy(_roomList.GetChild(i).gameObject); }
for (int i = 0; i < roomList.Count; i++) { Instantiate(_roomButtonPrefab,_roomList).GetComponent<RoomListItem>().SetUp(roomList[i]); } } }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
using TMPro;
public class Launcher : MonoBehaviourPunCallbacks
{
public static Launcher instance;
[SerializeField] private TMP_InputField _roomInputField;
[SerializeField] private TMP_Text _errorText;
[SerializeField] private TMP_Text _roomInputText;
[SerializeField] private Transform _roomList;
[SerializeField] public GameObject _roomButtonPrefab;
private void Start()
{
instance = this;
Debug.Log(message:"Присоединяемся к Мастер Серверу");
PhotonNetwork.ConnectUsingSettings();
MenuManager.instance.OpenMenu("loading");
}
public override void OnConnectedToMaster()
{
Debug.Log(message:"Присоединились к Мастер Серверу");
PhotonNetwork.JoinLobby();
}
public override void OnJoinedLobby()
{
Debug.Log(message:"Присоединились Лобби");
MenuManager.instance.OpenMenu("title");
}
public void CreateRoom()
{
if (string.IsNullOrEmpty(_roomInputField.text))
{
return;
}
PhotonNetwork.CreateRoom(_roomInputField.text);
MenuManager.instance.OpenMenu("loading");
}
public override void OnJoinedRoom()
{
_roomInputText.text = PhotonNetwork.CurrentRoom.Name ;
MenuManager.instance.OpenMenu("room");
}
public override void OnCreateRoomFailed(short returnCode, string message)
{
_errorText.text = "Error: " + message;
MenuManager.instance.OpenMenu("error");
}
public void LeaveRoom()
{
PhotonNetwork.LeaveRoom();
MenuManager.instance.OpenMenu("loading");
}
public override void OnLeftRoom()
{
MenuManager.instance.OpenMenu("title");
}
public void JoinRoom(RoomInfo info)
{
PhotonNetwork.JoinRoom( info.Name );
MenuManager.instance.OpenMenu("loading");
}
public override void OnRoomListUpdate(List<RoomInfo> roomList)
{
for (int i = 0; i < _roomList.childCount; i++)
{
Destroy(_roomList.GetChild(i).gameObject);
}
for (int i = 0; i < roomList.Count; i++)
{
Instantiate(_roomButtonPrefab,_roomList).GetComponent<RoomListItem>().SetUp(roomList[i]);
}
}
}