Exemple #1
0
 // Update is called once per frame
 void Update()
 {
     if (counter > 0)
     {
         if (Vector3.Distance(transform.position, nav.destination) < 0.5f)
         {
             counter--;
             if (counter > 0)
             {
                 nav.destination = patrolPoints[Random.Range(0, patrolPoints.Length)].transform.position;
             }
             else
             {
                 nav.destination = exits[Random.Range(0, exits.Length)].transform.position;
             }
         }
     }
     if (counter <= 0)
     {
         if (Vector3.Distance(transform.position, nav.destination) < 1.0f)
         {
             spawner.SpawnAI();
             Destroy(gameObject);
         }
     }
 }
        private void SpawnPlayer(float alterPlayerCount)
        {
            if (OfflineMode.modoDoOffline && !isTutorial)
            {
                aiSpawner = FindObjectOfType <AISpawner>();
                aiSpawner.SpawnAI();
            }

            if (alterPlayerCount > allPlayersInSession)                                                     //Contador pra sincronizar e adicionar quantos players entraram na cena
            {
                allPlayersInSession = alterPlayerCount;
            }

            allPlayersInSession++;
            if (PhotonNetwork.PlayerList.Length == allPlayersInSession || alterPlayerCount == 0)            //Checando se todos entraram, se sim, todos são criados ao mesmo tempo(se falhar, outro player vai passar pelo mesmo)
            {
                StartCoroutine("UniteSynchronization", delayToCreate);
                //StartCoroutine("SpawnAI");
            }
        }