Turnbased Networking Unity
I signed up for a turnbased server and after combing the net for anything I can find on the topic, this is the code I have been able to piece together:
This code works great, but what to do now? According to this page: http://doc.photonengine.com/en/turnbased/current/getting-started/turnbased-intro I need to create a LoadBalancingClient instance and call ConnectToRegionMaster
They give the following include
using ExitGames.Client.Photon.LoadBalancing;
which Unity does not recognize. Doesn't regonize this type either:
private LoadBalancingClient client;
So is the necessary files for Turnbased not included with PUN?
I'm not at all familiar with LoadBalancing but do I need to call this and select my region if I am using this: PhotonNetwork.ConnectUsingSettings("0.1"); which has the settings entered into the inspector?
My biggest question is am I going anywhere with this, or should I just be using the standard PUN server? tia
using System;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Random = UnityEngine.Random;
public class networkManager : MonoBehaviour {
public Text theText;
// Use this for initialization
void Start()
{
PhotonNetwork.logLevel = PhotonLogLevel.Full;
PhotonNetwork.sendRate = 1;
PhotonNetwork.sendRateOnSerialize = 1;
PhotonNetwork.ConnectUsingSettings("0.1");
logState();
}
void OnJoinedLobby()
{
theText.text = theText.text + "\r\nOperation Response 229: Connected to server";// + PhotonNetwork.autoJoinLobby.ToString();
Debug.Log("Joined Lobby");
theText.text = theText.text + "\r\nLobby connection - " + PhotonNetwork.lobby.ToString();
PhotonNetwork.JoinRandomRoom();
}
void OnPhotonRandomJoinFailed()
{
Debug.Log("Can't join random room!");
theText.text = theText.text + "\r\nOperation Response 225: In Lobby - " + PhotonNetwork.inRoom.ToString();
PhotonNetwork.CreateRoom("Room 1");
}
void OnJoinedRoom()
{
theText.text = theText.text + "\r\nReturn Code:0 \r\n Proceed - True";
// PhotonNetwork.JoinRoom(RoomName);
//We are joinging a room named lobby
theText.text = theText.text + "\r\nIn Lobby - " + PhotonNetwork.inRoom.ToString();
// theText.text = theText.text + PhotonNetwork.playerName;
StartCoroutine(wait());
}
void logState()
{
theText.text = PhotonNetwork.connectionState.ToString();
theText.text = theText.text + "\r\n" + PhotonNetwork.ServerAddress;
Debug.Log(PhotonNetwork.connectionStateDetailed.ToString());
}
IEnumerator wait()
{
yield return new WaitForSeconds(1);
theText.text = "Players in lobby:\r\n";
// generate a name for this player, if none is assigned yet
if (String.IsNullOrEmpty(PhotonNetwork.playerName))
{
PhotonNetwork.playerName = "Player" + Random.Range(1, 9999);
}
//theText.text = theText.text + PhotonNetwork.playerName;
foreach (PhotonPlayer player in PhotonNetwork.playerList)
{
theText.text = theText.text + "\r\n Player" + Random.Range(1, 9999);
}
}
}
This code works great, but what to do now? According to this page: http://doc.photonengine.com/en/turnbased/current/getting-started/turnbased-intro I need to create a LoadBalancingClient instance and call ConnectToRegionMaster
They give the following include
using ExitGames.Client.Photon.LoadBalancing;
which Unity does not recognize. Doesn't regonize this type either:
private LoadBalancingClient client;
So is the necessary files for Turnbased not included with PUN?
I'm not at all familiar with LoadBalancing but do I need to call this and select my region if I am using this: PhotonNetwork.ConnectUsingSettings("0.1"); which has the settings entered into the inspector?
My biggest question is am I going anywhere with this, or should I just be using the standard PUN server? tia
0
Comments
-
PUN and Turnbased are two separate products. To continue, you need to remove PUN and add the Turnbased SDK under the Unity section here: https://www.photonengine.com/en/Turnbased/Download
Confusingly, they also list PUN on that page. What you are looking for is a bit further down the page and named "Unity 3D SDK" currently version v4.0.0.12.
Your code above won't work for Turnbased, as "PhotonNetwork" is for PUN.0