Beispiel #1
0
    /// <summary>
    /// Funzione che esegue il Setup
    /// </summary>
    /// <param name="_bossCtrl"></param>
    public void Setup(BossControllerBase _bossCtrl)
    {
        bossLifeCtrl      = _bossCtrl.GetBossLifeController();
        bossMaxLife       = bossLifeCtrl.GetMaxBossLife();
        bossLifeBar.value = 1;

        bossLifeCtrl.OnBossTakeDamage += HandleOnBossTakeDamage;
    }
Beispiel #2
0
    /// <summary>
    /// Funzione che gestisce l'evento di fine della bossfight
    /// </summary>
    /// <param name="_bossCtrl"></param>
    /// /// <param name="_win"></param>
    private void HandleOnBossFightEnd(BossControllerBase _bossCtrl, bool _win)
    {
        ToggleBossPanel(false);

        if (_win)
        {
            ToggleWinPanel(true);
        }
    }
Beispiel #3
0
 /// <summary>
 /// Funzione che gestisce l'evento di morte del Boss
 /// </summary>
 /// <param name="_deadBoss"></param>
 private void HandleOnBossDead(BossControllerBase _deadBoss)
 {
     if (currentBoss != null && _deadBoss == currentBoss)
     {
         currentBoss.OnBossDead -= HandleOnBossDead;
         OnBossFightEnd?.Invoke(currentBoss, true);
         currentBoss = null;
     }
 }
Beispiel #4
0
 /// <summary>
 /// Funzione che gestisce l'evento di fine boss fight
 /// </summary>
 /// <param name="arg1"></param>
 /// <param name="arg2"></param>
 private void HandleOnBossFightEnd(BossControllerBase _bossCtrl, bool _win)
 {
     if (_win)
     {
         if (endBossCutsceneDirector != null)
         {
             EndBossCutscene();
         }
     }
 }
Beispiel #5
0
    /// <summary>
    /// Funzione che gestisce l'evento di trigger del Boss
    /// </summary>
    /// <param name="_bossToEnable"></param>
    private void HandleOnBossTriggered(BossControllerBase _bossToEnable)
    {
        if (_bossToEnable != null)
        {
            currentBoss = _bossToEnable;

            currentBoss.OnBossDead += HandleOnBossDead;
            currentBoss.StartBoss();
            OnBossFightStart?.Invoke(currentBoss);
        }
    }
Beispiel #6
0
    private void GoToPhase3(InputAction.CallbackContext _context)
    {
        BossControllerBase bossCtrl = FindObjectOfType <BossControllerBase>();

        if (bossCtrl != null && bossCtrl.IsSetuppedAndEnabled())
        {
            StateMachineBase bossSM = bossCtrl.GetComponent <StateMachineBase>();
            if (bossSM != null)
            {
                bossSM.GoToState("Phase3");
            }
        }
    }
Beispiel #7
0
    /// <summary>
    /// Funzione che gestisce l'evento di morte del gruppo
    /// </summary>
    private void HandleOnGroupDead()
    {
        if (currentBoss != null)
        {
            currentBoss.StopBoss();
        }

        if (groupCtrl != null)
        {
            groupCtrl.OnGroupDead -= HandleOnGroupDead;
        }

        OnBossFightEnd?.Invoke(currentBoss, false);
        currentBoss = null;
    }
Beispiel #8
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 public void Setup(BossControllerBase _bossCtrl)
 {
     bossCtrl    = _bossCtrl;
     currentLife = bossStartLife;
 }
Beispiel #9
0
 /// <summary>
 /// Funzione che gestisce l'evento dell'inizio della bossfight
 /// </summary>
 /// <param name="obj"></param>
 private void HandleOnBossFightStart(BossControllerBase _bossCtrl)
 {
     ToggleBossPanel(true);
     bossPanel.Setup(_bossCtrl);
 }
Beispiel #10
0
 /// <summary>
 /// Funzione di Setup
 /// </summary>
 /// <param name="_bossCtrl"></param>
 public void Setup(BossControllerBase _bossCtrl)
 {
     bossCtrl = _bossCtrl;
     rb       = GetComponent <Rigidbody>();
 }