using UnityEngine;
using System.Collections;
using System;
public class Connection: MonoBehaviour
{
public string connectToIp = "127.0.0.1";
public int connectPort = 25000;
public bool useNAT = false;
public string ipaddress = "";
public string port = "";
string playerName = "<NAME ME>";
void OnGUI ()
{
if (Network.peerType == NetworkPeerType.Disconnected)
{
if (GUILayout.Button("Connect"))
{
if (playerName != "<NAME ME>")
{
Network.useNat = useNAT;
Network.Connect(connectToIp, connectPort);
PlayerPrefs.SetString("playerName", playerName);
}
}
if(GUILayout.Button("Start Server"))
{
if(playerName != "<NAME ME>")
{
Network.useNat = useNAT;
Network.InitializeServer(32, connectPort);
[COLOR="red"]foreach (GameObject go in FindObjectOfType(typeof(GameObject)))[/COLOR]
{
go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReciver);
}
PlayerPrefs.SetString("playerName", playerName);
}
}
playerName = GUILayout.TextField(playerName);
connectToIp = GUILayout.TextField(connectToIp);
connectPort = Convert.ToInt32(GUILayout.TextField(connectPort.ToString()));
}
else
{
if(Network.peerType == NetworkPeerType.Connecting) GUILayout.Label("Connecting Status: Connecting");
else if (Network.peerType == NetworkPeerType.Client)
{
GUILayout.Label("Connection Status: Client!");
GUILayout.Label("Ping To Server: " + Network.GetAveragePing(Network.connections[0]));
}
else if (Network.peerType == NetworkPeerType.Server)
{
GUILayout.Label("Connection Status: Server!");
GUILayout.Label("Connections: " + Network.connections.Length);
if (Network.connections.Length >= 1)
GUILayout.Label("Ping To Server: " + Network.GetAveragePing(Network.connections[0]));
}
if(GUILayout.Button("Disconnect"))
Network.Disconnect(200);
ipaddress = Network.player.ipAddress;
port = Network.player.port.ToString();
GUILayout.Label("IP Address: " + ipaddress + " : " + port);
}
}
void OnConnectedToServer()
{
[COLOR="red"]foreach (GameObject go in FindObjectOfType(typeof(GameObject)))[/COLOR]
{
go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReciver);
}
}
}
Errors:
Assets/Connection.cs(36,41): error CS1579: foreach statement cannot operate on variables of type UnityEngine.Object' because it does not contain a definition for
GetEnumerator’ or is not accessible
Assets/Connection.cs(77,17): error CS1579: foreach statement cannot operate on variables of type UnityEngine.Object' because it does not contain a definition for
GetEnumerator’ or is not accessible
How to fix that? O.o
I have followed youtube tutorial but there aren’t errors for this foreach loops on it, or did I missed something?
He is writing first foreach loop at 07:50 if you want to check that part in tutorial