// Use this for initialization void Start() { //Giocatore e nemico player = factions.BLUE; enemy = factions.RED; //Assegno il numero di province iniziale al giocatore e all'IA numPlayerProvinces = 16; numEnemyProvinces = 16; //Supporto playerSupport = GameObject.Find ("playerSupport").GetComponent<Support> (); enemySupport = GameObject.Find ("enemySupport").GetComponent<Support> (); //Array di provincie e gruppi unitòà provinces = FindObjectsOfType<Province> (); provinces = provinces.OrderBy (p => p.ID).ToArray (); strengthIndicators = Canvas.FindObjectsOfType<StrengthIndicator> (); strengthIndicators = strengthIndicators.OrderBy (i => i.ID).ToArray (); units = FindObjectsOfType<Unit> (); units = units.OrderBy (u => u.ID).ToArray (); //Settaggio indicatori di forza foreach (Unit u in units) { u.SetupIndicator (); } debugInfluenceMap = GameObject.FindGameObjectsWithTag("InfluenceDebug"); //Box di selezione unità alleata e target attacco selectBox = GameObject.Instantiate((GameObject)Resources.Load("Prefabs/SelectBox")); targetBox = GameObject.Instantiate((GameObject)Resources.Load("Prefabs/TargetBox")); //Indicatore turno corrente turnText = Canvas.FindObjectOfType<Text> (); //Capitali blu e rossa blueCapital = 1; redCapital = 30; //Creazione grafo della mappa mapGraph = new Graph (); foreach (Province province in provinces) { mapGraph.AddNode (new Node (province.ID)); } foreach (Province province in provinces){ foreach (Province n in province.getNeighbours()) { mapGraph.AddVertex(province.ID,n.ID,1); } } //Inizializzazione IA influenceMap = InfluenceMap.getInstance (); influenceMap.BuildGraph (); strategicPlanner = StrategicPlanner.getInstance(); turn = player; turnCounter = 0; //Inizia gioco if (turn == player) PlayerTurn (); else if (turn == enemy) EnemyTurn (); }