So I am working on a project that uses PUN and so I want to know how to do a map selection because I want my game to have multiple maps but I don’t know how to do it. If anyone helps me, it would be very nice. (Also, i want to use a dropdown in the creation of the room and after that, there is a list of players where the host can press ‘PLAY’ to start the match for ALL players in the selected map)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CreateRoom : MonoBehaviour
{
[SerializeField]
private Text _roomName;
private Text RoomName
{
get { return _roomName; }
}
[SerializeField]
private Toggle _privateToggle;
private Toggle PrivateToggle
{
get { return _privateToggle; }
}
public bool IsPrivate = false;
public byte PlayerMax = 4;
public Text RandomRoomNameText;
private string randomRoomName;
public string theRoomName;
public byte sceneToLoad;
public void OnClick_CreateRoom()
{
RoomOptions newRoomOptions = new RoomOptions() { IsVisible = IsPrivate, IsOpen = true, MaxPlayers = PlayerMax };
newRoomOptions.customRoomProperties = new ExitGames.Client.Photon.Hashtable();
newRoomOptions.customRoomProperties.Add("map", sceneToLoad);
newRoomOptions.customRoomPropertiesForLobby = new string[] { "map" };
if (PhotonNetwork.CreateRoom(theRoomName, newRoomOptions, TypedLobby.Default))
{
print("Verification accepted");
}
else
{
print("Verification failed");
}
}
private void OnPhotonCreateRoomFailed(object[] codeAndMessage)
{
print("Failed to create a room: " + codeAndMessage[1]);
}
private void OnCreatedRoom()
{
print("Room succesfully created");
}
private void Start()
{
randomRoomName = "Room " + Random.Range(1, 999);
}
void Update()
{
RandomRoomNameText.text = randomRoomName;
if(PrivateToggle.isOn == true)
{
IsPrivate = false;
} else
{
IsPrivate = true;
}
if(RoomName.text == null)
{
theRoomName = randomRoomName;
}
else
{
theRoomName = RoomName.text;
}
}
}