Ejemplo n.º 1
0
    private IEnumerator RespawnBoss(float time)
    {
        yield return(new WaitForSeconds(time));

        int index = Random.Range(0, freeBossRespawnPoints.Count);
        BossRespawnPoint point = freeBossRespawnPoints[index];

        BossAI bossAI = Instantiate(bossPrefab, enemyRespawnPointsTransform, false).GetComponent <BossAI>();

        bossAI.transform.localPosition = point.positionInWorld;

        GameObject bossOnRadar = Instantiate(enemyOnRadarPrefab, radarTransform, false);

        bossOnRadar.transform.localPosition = point.positionOnRadar;

        HealthBar bossHealthBar = Instantiate(healthBarPrefab, hudTransform, false).GetComponent <HealthBar>();

        bossHealthBar.transform.localPosition = point.positionOnHUD;

        ProgressBar bossProgressBar = Instantiate(progressBarPrefab, hudTransform, false).GetComponent <ProgressBar>();

        bossProgressBar.transform.localPosition = point.positionOnHUD - progressBarOffset;

        bosses.Add(bossAI);
        bossAI.Init(bossOnRadar, bossHealthBar, bossProgressBar, point);

        freeBossRespawnPoints.Remove(point);
        takenBossRespawnPoints.Add(point);

        isBossRespawning = false;
        isBossRespawned  = true;
    }
Ejemplo n.º 2
0
    public void Init(GameObject bossOnRadar, HealthBar healthBar, ProgressBar progressBar, BossRespawnPoint respawnPoint, float timeToCompleteNavalBoarding)
    {
        Init(bossOnRadar);

        this.healthBar = healthBar;
        this.healthBar.Init(this);

        this.progressBar = progressBar;
        this.progressBar.Init(this, timeToCompleteNavalBoarding);

        this.respawnPoint = respawnPoint;
    }
Ejemplo n.º 3
0
 public void DeathOfBoss(BossRespawnPoint respawnPoint)
 {
     takenBossRespawnPoints.Remove(respawnPoint);
     freeBossRespawnPoints.Add(respawnPoint);
 }