void StartActivity()
    {
        if (allSecondarySystems.Count > 0)
        {
            int selectedPack = Random.Range(0, allSecondarySystems.Count);
            if (lastPack != null)
            {
                if (lastPack.secondarySystems.Count > 0)
                {
                    allSecondarySystems.Add(lastPack);
                }
            }
            SecondarySystem selectedSecondarySystem = allSecondarySystems[selectedPack].SelectSecondarySystem();
            selectedSecondarySystem.associatedPack = allSecondarySystems[selectedPack];
            lastPack = allSecondarySystems[selectedPack];
            allSecondarySystems.RemoveAt(selectedPack);
            selectedSecondarySystem.animator.SetBool("OnActivity", true);
            if (selectedSecondarySystem.memberAnimator)
            {
                selectedSecondarySystem.memberAnimator.speed = 1f;
            }
            switch (GetRandomType())
            {
            case LeverScript.RessourcesType.energy:
                selectedSecondarySystem.currentEnergy = 0f;
                selectedSecondarySystem.energyGauge.SetActive(true);
                selectedSecondarySystem.energyNeeded = true;
                break;

            case LeverScript.RessourcesType.oxygen:
                selectedSecondarySystem.currentOxygen = 0f;
                selectedSecondarySystem.oxygenGauge.SetActive(true);
                selectedSecondarySystem.oxygenNeeded = true;
                break;
            }
            activesSecondarySystems++;
            HintSecondarySystemManager.instance.activeSecondarySystems.Add(selectedSecondarySystem);
            TimerSecondarySystem timerObject = Instantiate(GameManager.instance.UI_timerSS, UI_Manager.instance.transform).GetComponent <TimerSecondarySystem>();
            timerObject.associatedSystem = selectedSecondarySystem;
            SoundsManager.instance.PlaySoundOneShot(SoundsManager.SoundName.SecondarySystemPop, ssManagerSource);
            CharacterController2D.instance.animatorFace.SetTrigger("Choc");
        }
    }
 public void LaunchSpecificSS(SecondarySystem specificSecondarySystem, Pack associatedPack, LeverScript.RessourcesType ressource = LeverScript.RessourcesType.energy, bool showTimer = true)
 {
     if (lastPack != null)
     {
         if (lastPack.secondarySystems.Count > 0)
         {
             allSecondarySystems.Add(lastPack);
         }
     }
     specificSecondarySystem.associatedPack = associatedPack;
     lastPack = associatedPack;
     allSecondarySystems.Remove(associatedPack);
     specificSecondarySystem.animator.SetBool("OnActivity", true);
     if (specificSecondarySystem.memberAnimator)
     {
         specificSecondarySystem.memberAnimator.speed = 1f;
     }
     if (ressource == LeverScript.RessourcesType.energy)
     {
         specificSecondarySystem.currentEnergy = 0f;
         specificSecondarySystem.energyGauge.SetActive(true);
         specificSecondarySystem.energyNeeded = true;
     }
     else
     {
         specificSecondarySystem.currentOxygen = 0f;
         specificSecondarySystem.oxygenGauge.SetActive(true);
         specificSecondarySystem.oxygenNeeded = true;
     }
     activesSecondarySystems++;
     HintSecondarySystemManager.instance.activeSecondarySystems.Add(specificSecondarySystem);
     if (showTimer)
     {
         TimerSecondarySystem timerObject = Instantiate(GameManager.instance.UI_timerSS, UI_Manager.instance.transform).GetComponent <TimerSecondarySystem>();
         timerObject.associatedSystem = specificSecondarySystem;
     }
     SoundsManager.instance.PlaySoundOneShot(SoundsManager.SoundName.SecondarySystemPop, ssManagerSource);
 }