Ejemplo n.º 1
0
    // 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 ();
    }
Ejemplo n.º 2
0
    public static StrategicPlanner getInstance()
    {
        if (instance == null)
            instance = new StrategicPlanner ();

        return instance;
    }