Esempio n. 1
0
    public void Start()
    {
        if (singleton != null)
        {
            Destroy(gameObject);
            return;
        }
        singleton = this;

        SpawnPoints = GameObject.FindObjectsOfType <NetworkStartPosition>();
    }
Esempio n. 2
0
    void LateUpdate()
    {
        if (PrimeraVuelta)
        {
            PrimeraVuelta = false;
            // Debug.Log(mapa.allTilesCoords.Count, this);

            pac      = Instantiate(PacmanPrefab, GetValidRandomVector3(false), Quaternion.identity).GetComponent <PacmanManager>();
            pac.Mapa = mapa;

            for (int i = 0; i < Fantasmas.Count; i++)
            {
                Fantasmas[i]          = Instantiate(FantasmaPrefab, GetValidRandomVector3(), Quaternion.identity).GetComponent <FantasmaManager>();
                Fantasmas[i].Objetivo = pac;
                Fantasmas[i].Mapa     = mapa;
            }

            ActualizaUbicacionFantasmas();
            pac.Fantasmas = Fantasmas;
        }
        else
        {
            if (!Detener)
            {
                // Esta condición puede cambiar
                int total = Fantasmas.FindAll(p => p.Alcanzado == true).Count;
                ActualizaUbicacionFantasmas();
                pac.Fantasmas = Fantasmas;

                if (total >= NumeroDeFantasmasRodeandoAObjetivo || EsPacmanComido())
                {
                    Finalizar();
                    pac.Morir();
                }
                else
                {
                    Detener = false;
                }
            }
        }
    }