예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        playerModifiers = playerModifiersGameObject.GetComponent <PlayerModifiers>();

        foreach (GameObject LaserGun in laserGuns)
        {
            playerLaserGuns.Add(LaserGun.GetComponent <LaserGun>());
            laserGunTemplate = LaserGun.GetComponent <LaserGun>();
        }

        playerFirestormX    = firestormX.GetComponent <FirestormX>();
        playerRenderer      = GetComponent <SpriteRenderer>();
        energyStatusBar     = EnergyBar.GetComponent <UIStatusBar>();
        firestormXStatusBar = FirestormXBar.GetComponent <UIStatusBar>();
        playerStatus        = playerStatusGameObject.GetComponent <PlayerStatus>();
        upgradesDisplay     = upgradesIcons.GetComponent <UIDisplayUpgrades>();
        deathSound          = deathSoundObject.GetComponent <AudioSource>();

        newPositionDirection          = 1;
        duplicateCount                = 1;
        spawnCount                    = 0;
        constantNewPositionDifference = playerModifiers.newPositionDifference;
        pointsDisplay                 = pointsUI.GetComponent <UIDisplayNumbers>();

        PlayerCollision.onEnemyHit       += substractEnergy;
        PlayerCollision.onEnemyHit       += RemoveUpgrades;
        PlayerCollision.onEnergyCollected = RecoverEnergy;
        PlayerCollision.onRocketCollected = addCannon;
        GameManager.onRoundEnd           += disableUI;
        GameManager.onRoundEnd           += disableCollision;
        GameManager.onRoundEnd           += disableGuns;
    }
예제 #2
0
    // Start is called before the first frame update
    private void Start()
    {
        Cursor.visible = false;
        squadSpawner   = squadSpawnerGameObject.GetComponent <SquadSpawner>();
        squadSpawner.addSquadToLevelSquads();

        for (int i = 0; i < enemySquads.Length; i++)
        {
            enemySquads[i].GetComponent <Enemy>().deActivateWaypoint();
            for (int f = 0; f < enemySquads[i].GetComponent <Enemy>().squadMembers.Count; f++)
            {
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDeath     += deleteEnemyFromSquad;
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDestroyed += deleteEnemyFromSquad;
                enemySquads[i].GetComponent <Enemy>().squadMembers[f].GetComponent <Enemy>().onEnemyDeath     += addPointsToPlayer;
            }

            enemySquads[i].SetActive(false);
        }

        playerController   = player.GetComponent <PlayerController>();
        distanceText       = distanceTextGameObject.GetComponent <UIDisplayNumbers>();
        roundEndMessage    = roundEndUI.GetComponent <UIRoundEnd>();
        startRoundAnimator = startRoundCanvas.GetComponent <Animator>();
        endRoundAnimator   = endRoundCanvas.GetComponent <Animator>();
        saveLevelName      = SaveLastLevel.Get();


        PlayerController.onPlayerDeath += roundEnd;
        PlayerController.onPlayerDeath += playerIsDead;
        currentSquadsOnScreen           = 2;

        for (int i = 0; i < enemySquads.Length; i++)
        {
            if (enemySquads[i] != null && currentSquadsOnScreen < maxSquadsOnScreen)
            {
                enemySquads[i].SetActive(true);
                enemySquads[i].GetComponent <Enemy>().activateWaypoint();
                currentSquadsOnScreen++;
            }
        }
    }