Game.Citizens.CitizenEducationLevel
Assembly: Assembly-CSharp (in-game core assembly; exact assembly name may vary by build/mod environment)
Namespace: Game.Citizens
Type: enum
Base: System.Enum
Summary:
Represents the education level of a citizen in the simulation. Used by gameplay systems to determine job eligibility, expected income/skill, building usage preferences, and education-related demands or behaviours. The enum values are integer-backed, starting at 0.
Fields
-
Uneducated
= 0
Represents citizens with no formal education. Typically eligible only for the lowest-skilled jobs and may affect building usage and service demand. -
PoorlyEducated
= 1
Low education level; can perform some basic jobs but with limited opportunities compared to higher levels. -
Educated
= 2
Mid-level education; eligible for a broader range of jobs and contributes more to higher-tier workplace needs. -
WellEducated
= 3
High education level; qualifies for skilled jobs and influences demand for advanced services and buildings. -
HighlyEducated
= 4
Top education tier; typically required for top-tier jobs and advanced industry or service usage.
Properties
- None (enum has no custom properties).
Note: System.Enum provides runtime helpers (e.g., GetValues, GetNames) for working with enum members.
Constructors
- None (enums do not define constructors beyond the default underlying-value initialization).
Methods
- No custom methods are defined on this enum.
Remarks: Standard System.Enum and object methods apply, e.g., ToString(), CompareTo(), Enum.IsDefined(typeof(CitizenEducationLevel), value), and Enum.GetValues(typeof(CitizenEducationLevel)).
Usage Example
using Game.Citizens;
// Assigning an education level
CitizenEducationLevel level = CitizenEducationLevel.Educated;
// Checking or branching based on level
if (level >= CitizenEducationLevel.WellEducated)
{
// Give access to higher-tier jobs or services
}
// Casting to an int for storage or comparison
int numeric = (int)level; // 2 for Educated
// Safe parsing from an int (e.g., when loading saved data)
int loadedValue = /* read from save or network */;
if (Enum.IsDefined(typeof(CitizenEducationLevel), loadedValue))
{
level = (CitizenEducationLevel)loadedValue;
}
else
{
level = CitizenEducationLevel.Uneducated; // fallback
}
Additional notes: - When serializing/saving, store the underlying integer value to ensure compatibility across sessions and mod versions. - Be careful when comparing enums across assemblies or when mods introduce custom values; prefer defensive checks (Enum.IsDefined) or a mapping layer. - Use Enum.GetValues(typeof(CitizenEducationLevel)) to iterate all defined education levels for UI lists or configuration.