Multiplayer (Photon) Help

Updated on November 18, 2018 in [A] Multiplayer
Share on Facebook0Tweet about this on TwitterShare on Google+0Share on Reddit0
0 on November 18, 2018

I’m building a 1v1 Multiplayer game and I’ve reached a point where when the Master client first looks for a battle it doesn’t fully load the scene and the other player does. But if the nonMaster client looks first for a battle they both load correctly.

Here is the button start looking for battle

public void StartBattle()
{
foreach (AccountStats acc in LobbyManagerNew.Players)
{
if (acc.me)
{
acc.isLooking = true;
} 
}
}

Here is where it looks for battle

public void Update()
{
players = GetPlayers();
if (myplayer.isLooking)
{
if (GameConstants.timedOut >= 0)
{
myplayer.count = GameConstants.timedOut;
GameConstants.timedOut -= Time.deltaTime;
AccountStats acc = GameFunctions.FoundPlayer(myplayer.mmrRating, players.ToArray());
if (acc != null)
{
PhotonNetwork.LoadLevel(2);
}
}
else
{
myplayer.isLooking = false;
myplayer.count = 0;
}
} 
}
List<AccountStats> GetPlayers()
{
List<AccountStats> gotPlayers = new List<AccountStats>();
GameObject[] gos = GameObject.FindGameObjectsWithTag(GameConstants.photonPlayer);
foreach (GameObject go in gos)
{
gotPlayers.Add(go.GetComponent<AccountStats>());
}
return gotPlayers;
}

Here is how its finding another player

public static AccountStats FoundPlayer(int mmr, AccountStats[] accountStats)
{
foreach (AccountStats acc in accountStats)
{
if (acc.isLooking && !acc.me)
{
if (mmr <= acc.mmrRating + 50 && mmr >= acc.mmrRating - 50)
{
return acc;
}
}
}
return null;
}
  • Liked by
Reply