- Home /
Question by
MrP · Mar 06, 2013 at 08:56 AM ·
c#errornetworkingthanksguys
Need help converting js to c# 4 errors
Hi I need a little bit help converting js to c# I have 4 errors: - error CS0023: The !' operator cannot be applied to operand of type
method group' - error CS1502: The best overloaded method match for UnityEngine.Network.InitializeServer(int, int, bool)' has some invalid arguments - error CS1503: Argument
#3' cannot convert object' expression to type
bool' - error CS0029: Cannot implicitly convert type UnityEngine.HostData[]' to
bool'
JS: var playerPrefab:GameObject; var spawnObject:Transform; var gameName:String = "Network_Testing_Dinges";
private var refreshing:boolean;
private var hostData:HostData[];
private var btnX:float;
private var btnY:float;
private var btnW:float;
private var btnH:float;
function Start()
{
btnX = Screen.width * 0.05;
btnY = Screen.width * 0.05;
btnW = Screen.width * 0.2;
btnH = Screen.width * 0.2;
}
function startServer()
{
Network.InitializeServer(32, 25001, !Network.HavePublicAddress);
MasterServer.RegisterHost(gameName, "Network Testing Name", "This is Network Testing Dinges");
}
function refreshHostList()
{
MasterServer.RequestHostList(gameName);
refreshing = true;
}
function Update()
{
if(refreshing)
{
if(MasterServer.PollHostList().Length > 0)
{
refreshing = false;
Debug.Log(MasterServer.PollHostList().Length);
hostData = MasterServer.PollHostList();
}
}
}
function spawnPlayer()
{
Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
}
// Messages
function OnServerInitialized()
{
Debug.Log("Server initialized!");
spawnPlayer();
}
function OnConnectedToServer()
{
Debug.Log("Connected To Server!");
spawnPlayer();
}
function OnMasterServerEvent(mse: MasterServerEvent)
{
if (mse == MasterServerEvent.RegistrationSucceeded)
{
Debug.Log("Registered Server");
}
}
// GUI
function OnGUI()
{
if(!Network.isClient && !Network.isServer)
{
if(GUI.Button(Rect(btnX, btnY, btnW, btnH), "Start Server"))
{
Debug.Log("Starting Server");
startServer();
}
if(GUI.Button(Rect(btnX, btnY *1.2 + btnH, btnW, btnH), "Refresh Hosts"))
{
Debug.Log("Refreshing");
refreshHostList();
}
if(hostData)
{
for(var i:int = 0; i <hostData.length; ++i)
{
if(GUI.Button(Rect(btnX * 1.5 + btnW, btnY * 1.2 + (btnH * i), btnW * 3, btnH * 0.5), hostData[i].gameName))
{
Network.Connect(hostData[i]);
}
}
}
}
}
C#: using UnityEngine; using System.Collections;
public class NetworkManagerScript : MonoBehaviour
{
GameObject playerPrefab;
Transform spawnObject;
string gameName = "Network_Testing_Dinges";
private bool refreshing;
HostData[] hostData;
private float btnX;
private float btnY;
private float btnW;
private float btnH;
void Start ()
{
btnX = Screen.width * 0.05f;
btnY = Screen.width * 0.05f;
btnW = Screen.width * 0.2f;
btnH = Screen.width * 0.2f;
}
void startServer ()
{
Network.InitializeServer(32, 25001, !Network.HavePublicAddress);
MasterServer.RegisterHost(gameName, "Network Testing Name", "This is Network Testing Dinges");
}
void refreshHostList ()
{
MasterServer.RequestHostList(gameName);
refreshing = true;
}
void Update ()
{
if(refreshing)
{
if(MasterServer.PollHostList().Length > 0)
{
refreshing = false;
Debug.Log(MasterServer.PollHostList().Length);
hostData = MasterServer.PollHostList();
}
}
}
void spawnPlayer ()
{
Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
}
// Messages
void OnServerInitialized ()
{
Debug.Log("Server initialized!");
spawnPlayer();
}
void OnConnectedToServer (){
Debug.Log("Connected To Server!");
spawnPlayer();
}
void OnMasterServerEvent ( MasterServerEvent mse)
{
if (mse == MasterServerEvent.RegistrationSucceeded)
{
Debug.Log("Registered Server");
}
}
// GUI
void OnGUI ()
{
if(!Network.isClient && !Network.isServer)
{
if(GUI.Button( new Rect(btnX, btnY, btnW, btnH), "Start Server"))
{
Debug.Log("Starting Server");
startServer();
}
if(GUI.Button( new Rect(btnX, btnY *1.2f + btnH, btnW, btnH), "Refresh Hosts"))
{
Debug.Log("Refreshing");
refreshHostList();
}
if(hostData)
{
for(int i = 0; i <hostData.Length; ++i)
{
if(GUI.Button( new Rect(btnX * 1.5f + btnW, btnY * 1.2f + (btnH * i), btnW * 3, btnH * 0.5f), hostData[i].gameName))
{
Network.Connect(hostData[i]);
}
}
}
}
}
}
Comment
Answer by SolidSnake · Mar 06, 2013 at 09:51 AM
couple of things i could notice:
!Network.HavePublicAddress
should be:
!Network.HavePublicAddress()
and you can change :
if(hostData)
to:
if(hostData !=null)