Skip to content

Game.City.StatisticType

Assembly:
Namespace: Game.City

Type: public enum

Base: System.Enum

Summary:
Enumeration of named city statistics used by the game to identify and request specific metrics (population, finances, transport passengers, crime, workforce, etc.). Mods and game systems use these enum values when querying or reporting statistics, populating UI panels, or serializing/aggregating metrics. The special member Count is a sentinel representing the number of defined statistics; Invalid = -1 marks an invalid/uninitialized value.


Fields

  • Invalid = -1
    Represents an invalid or uninitialized statistic.

  • Population
    Total city population (all residents).

  • Money
    Current city treasury / available money.

  • Income
    City income (typically per time unit, e.g., per week/month).

  • Expense
    City expenses (typically per time unit).

  • Trade
    Trade-related metric (exports/imports trade value or trade balance).

  • HouseholdWealth
    Aggregate wealth of residential households.

  • HouseholdCount
    Number of households/residential units.

  • ServiceWealth
    Aggregate wealth/value associated with service buildings/businesses.

  • ServiceCount
    Count of service buildings or service sector units.

  • ServiceWorkers
    Number of workers employed in the service sector.

  • ServiceMaxWorkers
    Total worker capacity (max) for the service sector.

  • ProcessingWealth
    Aggregate wealth/value of processing/industrial buildings.

  • ProcessingCount
    Count of processing/industrial buildings.

  • ProcessingWorkers
    Number of workers employed in processing/industry.

  • ProcessingMaxWorkers
    Total worker capacity (max) for processing/industry.

  • Wellbeing
    Aggregate wellbeing score for citizens (general happiness/comfort).

  • Health
    Aggregate health metric for the city population.

  • WorkerCount
    Total number of working citizens (employed population).

  • Unemployed
    Number of unemployed citizens.

  • EducationCount
    Count of citizens in education or number of educated citizens (context-dependent).

  • TouristCount
    Current number of tourists in the city.

  • TouristIncome
    Income generated by tourists (tourism-related revenue).

  • LodgingUsed
    Number of lodging units currently in use (hotels, short-term lodging).

  • LodgingTotal
    Total lodging capacity available.

  • DeathRate
    Death rate (typically per time unit or per population base).

  • CollectedMail
    Count or volume of mail collected (postal system metric).

  • DeliveredMail
    Count or volume of mail successfully delivered.

  • BirthRate
    Birth rate (typically per time unit or per population base).

  • CitizensMovedIn
    Number of citizens who moved into the city during a period.

  • CitizensMovedAway
    Number of citizens who moved away from the city during a period.

  • PassengerCountBus
    Passenger count for buses (total or per period).

  • PassengerCountSubway
    Passenger count for subway/metro systems.

  • PassengerCountTram
    Passenger count for trams/streetcars.

  • PassengerCountTrain
    Passenger count for intercity/commuter trains.

  • PassengerCountTaxi
    Passenger count for taxis.

  • PassengerCountAirplane
    Passenger count for airplanes/air travel.

  • PassengerCountShip
    Passenger count for ferries/ships/sea travel.

  • CrimeRate
    Crime rate metric for the city or area.

  • CityServiceWorkers
    Number of workers employed in city services (police, fire, garbage, etc.).

  • CityServiceMaxWorkers
    Total worker capacity for city services.

  • OfficeWealth
    Aggregate wealth/value of office zone/businesses.

  • OfficeCount
    Count of office buildings or office units.

  • OfficeWorkers
    Number of workers employed in offices.

  • OfficeMaxWorkers
    Worker capacity (max) for offices.

  • ResidentialTaxableIncome
    Taxable income total for residential sector (used for tax revenue calculations).

  • CommercialTaxableIncome
    Taxable income total for commercial sector.

  • IndustrialTaxableIncome
    Taxable income total for industrial sector.

  • OfficeTaxableIncome
    Taxable income total for office sector.

  • CargoCountTruck
    Cargo volume/count transported by trucks.

  • CargoCountTrain
    Cargo volume/count transported by trains.

  • CargoCountShip
    Cargo volume/count transported by ships.

  • CargoCountAirplane
    Cargo volume/count transported by airplanes.

  • SeniorWorkerInDemandPercentage
    Percentage representing demand for senior (older) workers in the job market.

  • CrimeCount
    Absolute number of crime incidents or logged crimes.

  • EscapedArrestCount
    Number of arrests that failed or criminals that escaped custody.

  • AdultsCount
    Number of adult citizens (age-based demographic count).

  • Age
    Average or representative age metric for the city population.

  • WellbeingLevel
    Discrete wellbeing level (e.g., categories/tiers derived from Wellbeing metric).

  • HealthLevel
    Discrete health level (categories/tiers derived from Health metric).

  • HomelessCount
    Number of homeless citizens.

  • Count
    Number of entries in this enum (useful for iteration bounds and validation).

Properties

  • This enum type has no properties.

Constructors

  • Enums do not have user-defined constructors; values are the named constants above.

Methods

  • Standard System.Enum methods are available (e.g., ToString, Parse, GetValues) but no custom methods are defined on this enum.

Usage Example

// Read a statistic identifier
Game.City.StatisticType stat = Game.City.StatisticType.Population;

// Use in switch to handle specific stats
switch (stat)
{
    case Game.City.StatisticType.Population:
        // query population value from relevant manager
        break;
    case Game.City.StatisticType.Money:
        // query treasury value
        break;
    default:
        break;
}

// Iterate all defined statistics (excluding Invalid)
foreach (Game.City.StatisticType s in Enum.GetValues(typeof(Game.City.StatisticType)))
{
    if (s == Game.City.StatisticType.Invalid) continue;
    if (s == Game.City.StatisticType.Count) continue;
    // register or display stat
}

Notes: - Use StatisticType.Count when allocating arrays or iterating to ensure correct bounds. - Invalid is useful as a default or error sentinel when a statistic id is not set or not applicable.