Ejemplo n.º 1
0
    internal void RefreshResources(bool isInVehicle, RoverInput roverInput = null)
    {
        RoverOxygen = isInVehicle ? new SingleSurvivalResource()
        {
            Data       = new PackResourceData(roverInput.Data.Oxygen, Oxygen.Data.ConsumptionPerSecond / Matter.Oxygen.Kilograms()),
            AudioClips = Oxygen.AudioClips,
            UpdateUI   = GuiBridge.Instance.RefreshRoverOxygenBar
        } : null;
        RoverPower = isInVehicle ? new SingleSurvivalResource()
        {
            Data       = new PackResourceData(roverInput.Data.EnergyContainer, Power.Data.ConsumptionPerSecond),
            AudioClips = Power.AudioClips,
            UpdateUI   = GuiBridge.Instance.RefreshRoverPowerBar
        } : null;

        bool isInHabitat = CurrentHabitat != null;

        HabitatOxygen = isInHabitat ? new SingleSurvivalResource()
        {
            Data       = new PackResourceData(CurrentHabitat.Data.Containers[Matter.Oxygen], Oxygen.Data.ConsumptionPerSecond / Matter.Oxygen.Kilograms()),
            AudioClips = Oxygen.AudioClips,
            UpdateUI   = GuiBridge.Instance.RefreshHabitatOxygenBar
        } : null;
        HabitatPower = isInHabitat ? new SingleSurvivalResource()
        {
            Data       = new PackResourceData(CurrentHabitat.HabitatData.EnergyContainer, Power.Data.ConsumptionPerSecond),
            AudioClips = Power.AudioClips,
            UpdateUI   = GuiBridge.Instance.RefreshHabitatPowerBar
        } : null;
    }
Ejemplo n.º 2
0
    private void TryConsume(bool nonSuitSuccess, SingleSurvivalResource resource)
    {
        if (!nonSuitSuccess && !resource.TryConsume())
        {
            if (resource.Data.DeprivationSeconds == 0f)
            {
                SunOrbit.Instance.CheckEmergencyReset();
                GuiBridge.Instance.ComputerAudioSource.PlayOneShot(resource.AudioClips.DepletedClip);
            }

            resource.Data.DeprivationSeconds += Time.deltaTime;
        }
        else
        {
            resource.Data.DeprivationSeconds = 0;
        }
    }