最少要进入房间照片的玩家

问题描述 投票:0回答:1

我正在做一个多人游戏,我想知道如何为用户增加最小数量的玩家进入房间。至少在一个玩家连接之前,不要孤单。我应该在脚本中添加什么?我具有此“房间选项”功能,但不能像“最小”播放器或其他功能那样添加。 (我希望MaxPlayers是否也存在MinPlayers)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon;
using Photon.Pun;
using UnityEngine.UI;
using Photon.Realtime;

public class MPManager : MonoBehaviourPunCallbacks, IPunObservable
{
    public PlayFabAuth auth;

    


    public string GameVersion;
    public Text connectState;
    
    public GameObject[] DisableOnConnected;
    public GameObject[] DisableOnJoinRoom;
    public GameObject[] EnableOnConnected;
    public GameObject[] EnableOnJoinRoom;
    public LoadedPlayer loadPlayer;
    // Start is called before the first frame update
    void Start()
    {
       

    }

    // Update is called once per frame
    void Update()
    {
        
    }

    private void FixedUpdate()
    {
        connectState.text = "Connection: " + PhotonNetwork.NetworkClientState;
    }
    public void ConnectToMaster()
    {
        //  PhotonNetwork.connectionStateDetailed
        PhotonNetwork.ConnectUsingSettings();
    }

    public override void OnConnectedToMaster()
    {
        PhotonNetwork.JoinLobby();
    }
    public override void OnJoinedLobby(){
        
        foreach(GameObject disable in DisableOnConnected){
            disable.SetActive(false);
        }
        foreach (GameObject enable in EnableOnConnected){
            enable.SetActive(true);
        }
        
        
    }

    public void CreateOrJoin()
    {
        PhotonNetwork.LeaveLobby();
        PhotonNetwork.JoinRandomRoom();
    }
    public override void OnJoinRandomFailed(short returnCode, string message)
    {

        RoomOptions rm = new RoomOptions
        {
            
            MaxPlayers = 3,
            IsVisible = true

        };
        int rndID = Random.Range(0, 3000);
        PhotonNetwork.CreateRoom("Default: " + rndID, rm, TypedLobby.Default);
    }
   
    public override void OnJoinedRoom()
    {
        foreach (GameObject disable in DisableOnJoinRoom)
        {
            disable.SetActive(false);
        }
        foreach (GameObject enable in EnableOnJoinRoom)
        {
            enable.SetActive(true);

        }
        Debug.Log(loadPlayer.currentPlayer.name);

        GameObject player =  PhotonNetwork.Instantiate(loadPlayer.currentPlayer.name , Vector3.zero, Quaternion.identity, 0);
        

    }
    public override void OnLeftRoom()
   
    {
        PhotonNetwork.LeaveRoom();
       
    }

    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        throw new System.NotImplementedException();
    }
}
unity3d photon
1个回答
0
投票

谢谢您选择光子!

[当您加入会议室(PhotonNetwork.CurrentRoom.PlayerCount)或其他玩家加入会议室(OnJoinedRoom)时,需要获取演员人数(OnPlayerEnteredRoom)。当加入的演员数量足以满足您的需求时,请启动游戏逻辑,例如加载场景,发送自定义事件等。

© www.soinside.com 2019 - 2024. All rights reserved.