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(); } }
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()); }