Beispiel #1
0
    public void BeginStageThree()
    {
        currentAttackCycle.Clear();
        currentStageData = GetStageData(BossStage.Third);

        if (currentStageData != null)
        {
            currentStageData.SetUpData();

            foreach (AttackPatternData attackData in currentStageData.AttackPatternData)
            {
                attackData.AttackPattern.playerTransform = playerTransform;
                if (attackData.AttackPattern as PheremoneBlast)
                {
                    if (!pheremoneBlast.gameObject.activeSelf)
                    {
                        pheremoneBlast.gameObject.SetActive(true);
                    }
                    pheremoneBlast.SetUpAbilityData(attackData);


                    currentAttackCycle.Add(pheremoneBlast);
                }
                else if (attackData.AttackPattern as AttackDrones)
                {
                    if (!attackDrones.gameObject.activeSelf)
                    {
                        attackDrones.gameObject.SetActive(true);
                    }
                    attackDrones.SetUpAbilityData(attackData);
                    currentAttackCycle.Add(attackDrones);
                }
                else if (attackData.AttackPattern as SendSoldiers)
                {
                    if (!sendSoldiers.gameObject.activeSelf)
                    {
                        sendSoldiers.gameObject.SetActive(true);
                    }
                    sendSoldiers.SetUpAbilityData(attackData);
                    sendSoldiers.BeginAttackPattern();
                }
            }
            foreach (BaseAttackPattern attackPattern in currentAttackCycle)
            {
                attackPattern.AttackEnded += NextAttackPattern;
            }
            StartNewCycleStage();
        }
    }
Beispiel #2
0
    public void SetUpBroodNest(BroodNest hiveRef)
    {
        hive       = hiveRef;
        isAlive    = true;
        currHealth = maxHealth;
        EnableBroodDelegate();
        isHurt = false;
        IAudio player = ObjectPoolManager.Spawn(audioPlayerPrefab.gameObject, transform.position, transform.rotation).GetComponent <IAudio>();

        player.SetUpAudioSource(AudioManager.instance.GetSound("BugsSplat"));
        player.PlayAtRandomPitch();
        ObjectPoolManager.Spawn(spawnVFX, transform.position, transform.rotation);
        CreateTeether();
        drones.SetUpAbilityData(droneData);
        playerTransform = GameStateManager.instance.GetPlayerTransform();
        if (!playerTransform)
        {
            playerTransform = FindObjectOfType <PlayerBehaviour>().transform;
        }
        drones.playerTransform = playerTransform;
        pheremones.SetUpAbilityData(pheremoneData);
        StartCoroutine(AttackLoop());
    }