Exemplo n.º 1
0
    private void HandleResourcesChanged(float upOrDown)
    {
        if (upOrDown > 0)
        {
            // Try and enable any auto disabled systems.
            while (systems.HasDisabledAuto)
            {
                if (!systems.EnableRandom())
                {
                    break;
                }
            }

            // Then try and enable any auto disabled modules.
            while (hardpoints.HasAutoDisabledModules)
            {
                if (!hardpoints.EnableRandomModule())
                {
                    break;
                }
            }
        }
        else
        {
            // First, try disabling random modules until we are back in positive
            // resources.
            while ((power.FreeEnergy < 0 || computer.IdleResources < 0) && hardpoints.HasActiveModules)
            {
                if (!hardpoints.DisableRandomModule())
                {
                    break;
                }
            }

            // If still don't have enough resources, then try disabling systems
            while ((power.FreeEnergy < 0 || computer.IdleResources < 0))
            {
                if (!systems.DisableRandom())
                {
                    break;
                }
            }
        }
    }