예제 #1
0
    public void Initialise()
    {
        map = GetComponent<TileMap>();
        effectLibrary = GetComponent<PrefabLibrary> ();

        activeUnits = new List<GameObject> ();
        everyUnit = new List<GameObject> ();
        currentQueue = new List<GameObject> ();
        currentDisplaying = Display.Movement;

        enemies = new GameObject[MAXENEMIES];
        playerUnitObjects = new GameObject[MAXCHARACTERS];
        loadEnemies ();
        loadCharacters ();

        //temp
        spawnUnit (5, 1, CharacterClass.Warrior);
        spawnUnit (4, 1, CharacterClass.Highwayman);
        spawnUnit (3, 1, CharacterClass.Ranger);
        spawnUnit (2, 1, CharacterClass.Elementalist);
        spawnUnit (1, 1, CharacterClass.Acolyte);

        GetComponent<GameManager> ().UI.GetComponent<UIManager> ().SetupUnitFrames (playerUnitObjects);

        //spawnEnemy (4, 2, EnemyClass.Goblin);
        List<Unit> squad = new List<Unit> ();

        squad.Add(spawnEnemy (42, 4, EnemyClass.GoblinShaman));

        foreach (Unit u in squad) {
            u.GetComponent<AIBehaviours>().myGroup = squad;
        }

        squad = new List<Unit> ();
        squad.Add(spawnEnemy (15, 4, EnemyClass.GoblinAxeThrower));
        squad.Add(spawnEnemy (15, 5, EnemyClass.Goblin));
        squad.Add(spawnEnemy (17, 1, EnemyClass.Goblin));
        squad.Add(spawnEnemy (15, 8, EnemyClass.GoblinAxeThrower));

        foreach (Unit u in squad) {
            u.GetComponent<AIBehaviours>().myGroup = squad;
        }

        squad = new List<Unit> ();
        squad.Add(spawnEnemy (21, 4, EnemyClass.GoblinDrummer));
        squad.Add(spawnEnemy (25, 8, EnemyClass.GoblinAxeThrower));
        squad.Add(spawnEnemy (26, 1, EnemyClass.GoblinAxeThrower));
        squad.Add(spawnEnemy (26, 4, EnemyClass.Goblin));
        squad.Add(spawnEnemy (27, 4, EnemyClass.Goblin));

        foreach (Unit u in squad) {
            u.GetComponent<AIBehaviours>().myGroup = squad;
        }

        activeUnits.Sort(CompareListByInitiative);

        foreach (GameObject go in activeUnits) {
            currentQueue.Add(go);
        }

        //set the starting vision
        foreach (GameObject go in playerUnitObjects) {
            map.DetectVisability(go.GetComponent<Unit>());
        }

        GetComponentInChildren<UIManager> ().ChangeRound (currentQueue);

        NextUnitsTurn ();
    }