Client who joined to the match created by the matchmaker can't see the player objects. Can anyone help me out?
FIRST OF ALL, SORRY FOR MY GRAMMAR MISTAKES! So, I want to make a matchmaking queue, but I think I misunderstood something or just didn't read enough about it, but that's how it should work (I think): When the player clicks on the play button, the matchmaker lists a match where the player is able to join. If there is no match, then the player automaticly creates one, so the next player can join. The problem is: I can list the matches and create match, but when I join as a client, I can't see the player objects, but with player who created the match.
Here is the script that I use:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using UnityEngine.Networking.Match;
using System.IO;
public class PlayUnranked : MonoBehaviour, IPointerDownHandler {
WWW r;
public Text progressText;
public int selectedID;
public NetworkManager networkManager;
public int playerID;
public Button playUnrankedButton;
bool Searching;
bool queue;
string[] mapNames = File.ReadAllLines("maps.mpl");
string ChoosenMapIfMatchCreate;
void Start ()
{
playerID = PlayerPrefs.GetInt("playerID");
playUnrankedButton = gameObject.GetComponent<Button>();
ChoosenMapIfMatchCreate = mapNames[Random.Range(0, mapNames.Length - 1)];
networkManager.StartMatchMaker();
}
public void OnPointerDown(PointerEventData eventData)
{
networkManager.matchMaker.ListMatches(0, 1, "", true, 0, 0, OnMatchList);
}
public void OnMatchList(bool success, string extendedInfo, List<MatchInfoSnapshot> matches)
{
if (!success || matches.Count < 1)
{
networkManager.onlineScene = ChoosenMapIfMatchCreate;
networkManager.matchMaker.CreateMatch(ChoosenMapIfMatchCreate, 2, true, "", "", "", 0, 0, networkManager.OnMatchCreate);
return;
}
else
networkManager.matchMaker.JoinMatch(matches[0].networkId, "", "", "", 0, 0, networkManager.OnMatchJoined);
}
public void OnMatchCreate (bool success, string extendedInfo, MatchInfo matchInfo)
{
if (success)
progressText.text = "Match Created: " + matchInfo.networkId;
}
public void OnMatchJoined (bool success, string extendedInfo, MatchInfo matchInfo)
{
}
}
Is there anyone who can help me out and clear my mind? Thank you!
Your answer
Follow this Question
Related Questions
Matchmaking and filtering in it 0 Answers
uNet: Failed to send internal buffer 0 Answers
Problem with UNET match. 0 Answers
MatchInfoSnapshot currentSize returns 1 instead of 0 0 Answers
Can't join to room through Unity's Matchmaking system on the Internet 0 Answers