private void MoveToNextPhase()
    {
        ResetDuration();


        BossFightPhase currentPhase = phaseEntries[currentPhaseIndex];

        DisablePhase(currentPhase);

        if (currentPhase.DestroyWhenCompleted)
        {
            phaseEntries.RemoveAt(currentPhaseIndex);
            Destroy(currentPhase.gameObject);
        }
        else
        {
            NextIndex();
        }

        EnablePhase(phaseEntries[currentPhaseIndex]);
    }
 private void EnablePhase(BossFightPhase phase)
 {
     phase.StartPhase();
 }
 private void DisablePhase(BossFightPhase phase)
 {
     phase.EndPhase();
 }