i have a network manager script that works connections and spawning. problem is that i have 2 player prefabs that are supposed to spawn in different locations. i want the game to check if the first one exists and then spawn the second one. however it always spawns the first one
using UnityEngine;
using System.Collections;
public class Networkmanager : MonoBehaviour
{
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
}
private const string typeName = "UniqueGameName";
private const string gameName = "boxing";
private void StartServer ()
{
Network.InitializeServer (4, 25000, !Network.HavePublicAddress ());
MasterServer.RegisterHost (typeName, gameName);
}
void OnServerInitialized ()
{
Debug.Log ("Server Initializied");
SpawnPlayer ();
}
void OnGUI ()
{
if (!Network.isClient && !Network.isServer) {
if (GUI.Button (new Rect (100, 100, 250, 100), "Start Server"))
StartServer ();
if (GUI.Button (new Rect (100, 250, 250, 100), "Refresh Hosts"))
RefreshHostList ();
if (hostList != null) {
for (int i = 0; i < hostList.Length; i++) {
if (GUI.Button (new Rect (400, 100 + (110 * i), 300, 100), hostList *.gameName))*
_ JoinServer (hostList );_
* }*
* }*
* }*
* }*
* public GameObject playerPrefab1;*
* public GameObject playerPrefab2;*
* private void SpawnPlayer ()*
* {*
* if (GameObject.Find (“networkplayer(Clone)”) == null)*
* Network.Instantiate (playerPrefab1, new Vector3 (0f, 0f, 0f), Quaternion.identity, 0);*
* else*
* if (GameObject.Find (“networkplayer2(Clone)”) == null)*
* Network.Instantiate (playerPrefab2, new Vector3 (2f, 0f, 2f), Quaternion.identity, 0);*
* }*
* private HostData[] hostList;*
* private void RefreshHostList ()*
* {*
* MasterServer.RequestHostList (typeName);*
* }*
* void OnMasterServerEvent (MasterServerEvent msEvent)*
* {*
* if (msEvent == MasterServerEvent.HostListReceived)*
* hostList = MasterServer.PollHostList ();*
* }*
* private void JoinServer (HostData hostData)*
* {*
* Network.Connect (hostData);*
* }*
* void OnConnectedToServer ()*
* {*
* Debug.Log (“Server Joined”);*
* SpawnPlayer ();*
* }*
}
i tried
private void SpawnPlayer ()
{
if (GameObject.Find (“networkplayer(Clone)”) != null)
Network.Instantiate (playerPrefab2, new Vector3 (2f, 0f, 2f), Quaternion.identity, 0);
else
if (GameObject.Find (“networkplayer2(Clone)”) != null)
Network.Instantiate (playerPrefab1, new Vector3 (0f, 0f, 0f), Quaternion.identity, 0);
}
but then nothing would spawn at all