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