Пример #1
0
    IEnumerator LoadLevel(string level, int levelPrefix)
    {
        if (mgs.gamemenustate != NetworkMasterServer.menustate.ingame)
        {
            mgs.gamemenustate = NetworkMasterServer.menustate.ingame;
            Debug.Log("Loading level " + level + "with prefix " + levelPrefix);
            lastLevelPrefix = levelPrefix;

            Network.SetSendingEnabled(0, false);
            Network.isMessageQueueRunning = false;
            Network.SetLevelPrefix(levelPrefix);

            Application.LoadLevel(level);

            yield return(0); //new WaitForSeconds(1);

            Network.isMessageQueueRunning = true;
            Network.SetSendingEnabled(0, true);

            GameObject        go = GameObject.Find("PlayerSpawn");
            InstantiatePlayer io = (InstantiatePlayer)go.GetComponent(typeof(InstantiatePlayer));

            io.SendMessage("InstantiatePlayerOnNetworkLoadedLevel", SendMessageOptions.RequireReceiver);
        }
    }
Пример #2
0
    IEnumerator LoadLevel(string level, int levelPrefix)
    {
        // If we already loaded the level don't load it again
        if (mgs.gamemenustate != NetworkMasterServer.menustate.ingame)
        {
            mgs.gamemenustate = NetworkMasterServer.menustate.ingame;
            //Debug.Log("Loading level " + level + " with prefix " + levelPrefix);
            lastLevelPrefix = levelPrefix;
            // There is no reason to send any more data over the network on the default channel,
            // because we are about to load the level, because all those objects will get deleted anyway
            Network.SetSendingEnabled(0, false);
            // We need to stop receiving because first the level must be loaded.
            // Once the level is loaded, RPC's and other state update attached to objects in the level are allowed to fire
            Network.isMessageQueueRunning = false;

            // All network views loaded from a level will get a prefix into their NetworkViewID.
            // This will prevent old updates from clients leaking into a newly created scene.
            Network.SetLevelPrefix(levelPrefix);
            Application.LoadLevel(level);
            yield return(0);            //new WaitForSeconds (1);

            yield return(0);            //new WaitForSeconds (1);

            // Allow receiving data again
            Network.isMessageQueueRunning = true;
            // Now the level has been loaded and we can start sending out data
            Network.SetSendingEnabled(0, true);

            // Once the level is loaded we then need to instantiate our local player.  To do that we
            // could use Network.Instantiate, but that only lets us send
            GameObject        go = GameObject.Find("PlayerSpawn");
            InstantiatePlayer io = (InstantiatePlayer)go.GetComponent(typeof(InstantiatePlayer));
            io.SendMessage("InstantiatePlayerOnNetworkLoadedLevel", SendMessageOptions.RequireReceiver);
        }
    }
Пример #3
0
 public TournamentEntrant(string name, InstantiatePlayer playerGenerator)
 {
     this.name            = name;
     this.playerGenerator = playerGenerator;
     score = 0;
 }