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; }
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); }
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(); } } }
void Start() { grid = FindObjectOfType <Grid>(); unitControl = GetComponent <IA_UnitControl>(); }