public void Effetto(giocatore giocatoreDiTurno)
    {
        if (valore == 0 && movimento == 0)
        {
            giocatoreDiTurno.uscitaDiPrigione = true;
            GameObject.FindObjectOfType <StateController>().uscitaPrigione.SetActive(true);
            return;
        }

        giocatoreDiTurno.TrasferimentoDenaro(this.valore);

        if (movimento == -3)
        {
            giocatoreDiTurno.contatorePrigione = -2;
            movimento = int.Parse(giocatoreDiTurno.partenza.name) - 3;
            if (movimento <= 0)
            {
                movimento += 40;
            }
        }

        if (movimento != 0)
        {
            Casella[] caselle = GameObject.FindObjectsOfType <Casella>();
            Casella   casella = null;
            foreach (Casella item in caselle)
            {
                if (item.name == movimento.ToString())
                {
                    casella = item;
                }
            }
            if (casella.name == "11")
            {
                giocatoreDiTurno.contatorePrigione = 0;
            }

            giocatoreDiTurno.partenza = giocatoreDiTurno.Muovi(giocatoreDiTurno.partenza, casella);
        }
    }
Beispiel #2
0
 public override void Fermata(giocatore giocatoreDiTurno)
 {
     GameObject.FindObjectOfType <StateController>().Avviso("Vai in prigione", false);
     giocatoreDiTurno.contatorePrigione = 0;
     giocatoreDiTurno.partenza          = giocatoreDiTurno.Muovi(giocatoreDiTurno.partenza, prigione);
 }