Ejemplo n.º 1
0
    public void AddToHistory(System.DateTime date, CityResources avgDailyResources, CityFinances avgDailyFinances)
    {
        if (history.Count >= maxHistory)
        {
            history.RemoveAt(0);
        }

        history.Add(new TimePoint(date, avgDailyResources, avgDailyFinances));
    }
Ejemplo n.º 2
0
    //TODO add other finances/economy related parameters here

    static public CityFinances operator+(CityFinances fin1, CityFinances fin2)
    {
        CityFinances sum = new CityFinances();

        sum.population       = fin1.population + fin2.population;
        sum.treasury         = fin1.treasury + fin2.treasury;
        sum.incomeTaxes      = fin1.incomeTaxes + fin2.incomeTaxes;
        sum.industryTaxes    = fin1.industryTaxes + fin2.industryTaxes;
        sum.commercialTaxes  = fin1.commercialTaxes + fin2.commercialTaxes;
        sum.buildingExpenses = fin1.buildingExpenses + fin2.buildingExpenses;

        return(sum);
    }
Ejemplo n.º 3
0
    static public CityFinances operator/(CityFinances fin, float denominator)
    {
        CityFinances result = new CityFinances();

        result.treasury    = System.Convert.ToInt64(System.Convert.ToSingle(fin.treasury) / denominator);
        result.population  = System.Convert.ToInt64(System.Convert.ToSingle(fin.population) / denominator);
        result.incomeTaxes = fin.incomeTaxes / denominator;

        result.industryTaxes    = Mathf.RoundToInt((float)fin.industryTaxes / denominator);
        result.commercialTaxes  = Mathf.RoundToInt((float)fin.commercialTaxes / denominator);
        result.buildingExpenses = Mathf.RoundToInt((float)fin.buildingExpenses / denominator);

        return(result);
    }
Ejemplo n.º 4
0
    public void UpdateHistory(System.DateTime date)
    {
        //Divide the sum by the amounts added to get the average
        CityResources averageDailyResources = dailySumResources / (float)helperCounter;
        CityFinances  averageDailyFinances  = dailySumFinances / (float)helperCounter;

        //Add to history
        resourceHistory.AddToHistory(date, averageDailyResources, averageDailyFinances);

        //reset the averages objects and counter
        dailySumResources = new CityResources();
        dailySumFinances  = new CityFinances();
        helperCounter     = 0;
    }
Ejemplo n.º 5
0
 public TimePoint(System.DateTime _date, CityResources _resources, CityFinances _finances)
 {
     date      = _date;
     resources = _resources;
     finances  = _finances;
 }
Ejemplo n.º 6
0
    //TODO while CityResources change over the course of the day, the majority of CityFinances (as of July, 3rd implementation) are the same per day, difference is in the treasury
    //only (which could change due to player paying for constructions, etc). The current implementation in TimeProgress() and UpdateHistory() has some redundant calculations.
    //For now, leaving it as is, as there *might* be additional variables in the future in CityFinances that are are updated hourly. If that didn't turn out to be the case, this
    //is a venue for some cleanup and optimization (for prolly statistically insignificant gains, but still).

    public void TimeProgress(int hours)
    {
        dailySumResources += resources;
        dailySumFinances  += finances;
        helperCounter++;
    }