Exemplo n.º 1
0
    void Start()
    {
        gm                     = FindObjectOfType <GM>();
        creaPersonajes         = FindObjectOfType <CharacterCreation>();
        intentoCompraRealizado = false;

        EstrategiaIA = "Neutral";

        //Recoger todas las unidades en el inicio
        todos = FindObjectsOfType <IA_UnitControl>();
        //foreach(IA_UnitControl unidad in todos)
        for (int i = 0; i < todos.Length; i++)
        {
            //if(todos[i].unit.tipoUnidad=="rey" && todos[i].unit.playerNumber==1)
            //    jugadorRey = todos[i];
            if (todos[i].unit.tipoUnidad == "rey" && todos[i].unit.playerNumber == 2)
            {
                iaRey = todos[i];
            }
        }
        //Encontrar al rey del jugador
        Unit [] listaUnidades = FindObjectsOfType <Unit>();
        for (int i = 0; i < listaUnidades.Length; i++)
        {
            if (listaUnidades[i].tipoUnidad == "rey" && listaUnidades[i].playerNumber == 1)
            {
                jugadorRey = listaUnidades[i];
            }
        }


        cuentaTurno = 0;
    }
Exemplo n.º 2
0
    private void Start()
    {
        source  = GetComponent <AudioSource>();
        camAnim = Camera.main.GetComponent <Animator>();
        gm      = FindObjectOfType <GM>();
        UpdateHealthDisplay();

        //Si es una unidad del bando de la IA, conectar con su IA_UnitControl
        if (playerNumber == 2)
        {
            unitControl = GetComponent <IA_UnitControl>();
        }



        //Encontrar Tile sobre el que está
        if (tilePosicion == null)
        {
            Tile [] todos = FindObjectsOfType <Tile>();
            foreach (Tile tilo in todos)
            {
                if (tilo.transform.position.x == transform.position.x && tilo.transform.position.y == transform.position.y)
                {
                    tilePosicion = tilo;
                    break;
                }
            }
        }

        //Pintar influencias iniciales
        PintarInfluencia(true);
    }
Exemplo n.º 3
0
    public void SiguienteUnidad()
    {
        if (cuentaUnidad >= todos.Length || todos[cuentaUnidad] == null)
        {
            //Antes de acabar el turno, trata de comprar nuevas unidades
            if (!intentoCompraRealizado)
            {
                intentoCompraRealizado = true;
                CompraUnidades();
            }
            else
            {
                Debug.Log("La IA ha acabado el turno " + cuentaTurno + ", le toca al jugador");
                todos = FindObjectsOfType <IA_UnitControl>(); //Es posible que alguna unidad ha muerto
                foreach (IA_UnitControl uc in todos)
                {
                    uc.unit.StopAllCoroutines();
                }
                gm.EndIATurn();
            }
        }
        else
        {
            unidadActual = todos[cuentaUnidad];

            //Si no tiene una estrategia, asignarle una según el estado actual
            if (unidadActual.nombreObjetivo == "")
            {
                DecidirEstrategiaUnidad("");
            }

            //Se vacía el vector de ordenes
            ordenesUnidad[0] = "Nada";
            ordenesUnidad[1] = "Nada";
            cuentaOrden      = 0;

            if (unidadActual == iaRey)
            {
                EstrategiaRey();
            }
            else
            {
                EstrategiaUnidad();
            }
        }
    }
Exemplo n.º 4
0
 void Start()
 {
     grid        = FindObjectOfType <Grid>();
     unitControl = GetComponent <IA_UnitControl>();
 }