Example #1
0
    private void Awake()
    {
        waveManager  = GameObject.FindGameObjectWithTag("Wave_Manager").GetComponent <WaveManager>();
        troopFactory = GameObject.FindGameObjectWithTag("Factory").GetComponent <TroopFactory>();

        animatorController = GetComponent <Animator>();
        //TO:DO use RunTimeData to get the Barrack class to this respctive GO
        barrackData = GetComponent <RunTimeBarrackData>();

        enabled = false;
    }
Example #2
0
    private void HandleAllTroopsRemoved()
    {
        GameObject spawnGroup   = null;
        bool       checkIsEnemy = false;

        if (isTurnTrasition)
        {
            return;
        }

        if (playerSpawnGroup.transform.childCount == 0)
        {
            spawnGroup   = playerSpawnGroup;
            checkIsEnemy = false;
        }
        else if (enemySpawnGroup.transform.childCount == 0)
        {
            spawnGroup   = enemySpawnGroup;
            checkIsEnemy = true;
        }

        if (spawnGroup != null)
        {
            // TO:DO --> Use list of barracks from RunTimeData [This part of code is to heavy]
            GameObject[] barracks       = GameObject.FindGameObjectsWithTag("Spawner");
            int          activeBarracks = 0;

            foreach (GameObject barrack in barracks)
            {
                RunTimeBarrackData barrackData    = barrack.GetComponent <RunTimeBarrackData>();
                Spawner            barrackSpawner = barrack.GetComponent <Spawner>();

                if (barrackData.isEnemy == checkIsEnemy && barrackSpawner.ActualState == SpawnerStates.SPAWNING)
                {
                    activeBarracks++;
                }
            }

            if (activeBarracks == 0)
            {
                CompleteWave();
            }
        }
    }