Example #1
0
    public float Sludgeworks_RegenerationValue;         // 10

    /// <summary>
    /// Metoda wywoływana co sekundę
    /// </summary>
    void GenerateShit()
    {
        if (BuildingType == BuildingType.Sludgeworks)
        {
            // Jeżeli jest to oczyszczalnia to nie generuje zysków
            if (Sludgeworks_CurrentAvailableShits < Sludgeworks_MaximumShits)
            {
                Sludgeworks_CurrentAvailableShits += Sludgeworks_RegenerationValue * Time.deltaTime;
            }
        }
        else
        {
            // Jeżeli wartość nie przekroczyła maksymalnej dopuszczalnej to zwiększa licznik
            if (CurrentShits < MaximumShits)
            {
                CurrentShits += HumansInBuilding;

                // Aktualizacja wskaźnika zapełnienia - jeżeli jest on wyświetlony dla tego budynku
                if (Helper.GetGUIManager().BuildingMode_BuildingProgressBar.activeInHierarchy)
                {
                    BuildingProgressBar progressBarScript = Helper.GetGUIManager().BuildingMode_BuildingProgressBar.GetComponent <BuildingProgressBar>();
                    if (progressBarScript != null)
                    {
                        if (progressBarScript.GetCurrentlyFollowingBuilding() == gameObject)
                        {
                            progressBarScript.SetValue(this);
                        }
                    }
                }
            }
        }
    }
Example #2
0
    /// <summary>
    /// Metoda powoduje 'zabranie' przez skrypt oczyszczalni G z danego budynku
    /// </summary>
    /// <returns></returns>
    public BigInteger TakeShit(float maximum = 0)
    {
        BigInteger toReturn = CurrentValue();
        BigInteger max      = new BigInteger(maximum.ToString("0"));

        if (maximum != 0 && toReturn > max)
        {
            toReturn       = max;
            _currentShits -= max;
        }
        else
        {
            _currentShits = 0;
        }

        // Aktualizacja wskaźnika zapełnienia - jeżeli jest on wyświetlony dla tego budynku
        if (Helper.GetGUIManager().BuildingMode_BuildingProgressBar.activeInHierarchy)
        {
            BuildingProgressBar progressBarScript = Helper.GetGUIManager().BuildingMode_BuildingProgressBar.GetComponent <BuildingProgressBar>();
            if (progressBarScript != null)
            {
                if (progressBarScript.GetCurrentlyFollowingBuilding() == gameObject)
                {
                    progressBarScript.SetValue(this);
                }
            }
        }

        return(toReturn);
    }
Example #3
0
    /// <summary>
    /// Metoda wywoływana po kliknięciu na budynek w trybie Building
    /// </summary>
    /// <param name="gameObject"></param>
    internal void BuildingMode_SelectBuilding(GameObject gameObject)
    {
        Building buildingScript = gameObject.GetComponent <Building>();

        if (buildingScript != null)
        {
            // Wyświetlanie panelu informacji o budynku
            BuildingMode_SetBuildingInfo(buildingScript);

            // Wyświetlanie markera
            BuildingMode_CurrentBuildingMarkerShow(gameObject);

            // Wyświetlanie paska postępu
            BuildingProgressBar progressBarScript = BuildingMode_BuildingProgressBar.GetComponent <BuildingProgressBar>();
            if (progressBarScript != null)
            {
                progressBarScript.SetFollowedBuilding(gameObject);
            }
            BuildingMode_BuildingProgressBar.SetActive(true);
        }
    }