Decompiled source of CimBehaviorImprovements v1.0.1
CimBehaviorImprovements/CimBehaviorImprovements.dll
Decompiled 10 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using Colossal; using Colossal.Collections; using Colossal.Entities; using Game; using Game.Agents; using Game.Areas; using Game.Buildings; using Game.Citizens; using Game.City; using Game.Common; using Game.Companies; using Game.Debug; using Game.Economy; using Game.Net; using Game.Notifications; using Game.Objects; using Game.Prefabs; using Game.Simulation; using Game.Tools; using Game.Triggers; using Game.Zones; using HarmonyLib; using Microsoft.CodeAnalysis; using Unity.Burst; using Unity.Burst.Intrinsics; using Unity.Collections; using Unity.Entities; using Unity.Jobs; using Unity.Mathematics; using UnityEngine; using UnityEngine.Scripting; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyCompany("ResponsibleCims")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Responsible Cims")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ResponsibleCims")] [assembly: AssemblyTitle("ResponsibleCims")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ResponsibleCims { [CompilerGenerated] public class ApplyToSchoolSystem : GameSystemBase { [BurstCompile] public struct ApplyToSchoolJob : IJobChunk { [ReadOnly] public EntityTypeHandle m_EntityType; [ReadOnly] public SharedComponentTypeHandle<UpdateFrame> m_UpdateFrameType; public ComponentTypeHandle<Citizen> m_CitizenType; [ReadOnly] public ComponentTypeHandle<Worker> m_WorkerType; [ReadOnly] public ComponentLookup<PrefabRef> m_Prefabs; [ReadOnly] public ComponentLookup<SchoolData> m_SchoolDatas; [ReadOnly] public BufferLookup<HouseholdCitizen> m_HouseholdCitizens; [ReadOnly] public ComponentTypeHandle<HouseholdMember> m_HouseholdMemberType; [ReadOnly] public ComponentLookup<HouseholdMember> m_HouseholdMembers; [ReadOnly] public ComponentLookup<Household> m_HouseholdDatas; [ReadOnly] public BufferLookup<Resources> m_Resources; [ReadOnly] public ComponentLookup<PropertyRenter> m_PropertyRenters; [ReadOnly] public BufferLookup<CityModifier> m_CityModifiers; [ReadOnly] public BufferLookup<ServiceFee> m_Fees; [ReadOnly] public ComponentLookup<TouristHousehold> m_TouristHouseholds; [ReadOnly] public ComponentLookup<Citizen> m_EntityCitizen; [ReadOnly] public RandomSeed m_RandomSeed; public uint m_UpdateFrameIndex; public Entity m_City; public uint m_SimulationFrame; public EconomyParameterData m_EconomyParameters; public TimeData m_TimeData; public ParallelWriter m_CommandBuffer; public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Invalid comparison between Unknown and I4 //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Invalid comparison between Unknown and I4 //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Invalid comparison between Unknown and I4 //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Invalid comparison between Unknown and I4 //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Invalid comparison between Unknown and I4 //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Invalid comparison between Unknown and I4 //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Unknown result type (might be due to invalid IL or missing references) //IL_0352: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_036a: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Unknown result type (might be due to invalid IL or missing references) //IL_0388: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) if (((ArchetypeChunk)(ref chunk)).GetSharedComponent<UpdateFrame>(m_UpdateFrameType).m_Index != m_UpdateFrameIndex) { return; } NativeArray<Entity> nativeArray = ((ArchetypeChunk)(ref chunk)).GetNativeArray(m_EntityType); NativeArray<Citizen> nativeArray2 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Citizen>(ref m_CitizenType); NativeArray<Worker> nativeArray3 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Worker>(ref m_WorkerType); DynamicBuffer<CityModifier> val = m_CityModifiers[m_City]; NativeArray<HouseholdMember> nativeArray4 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<HouseholdMember>(ref m_HouseholdMemberType); Random random = ((RandomSeed)(ref m_RandomSeed)).GetRandom(unfilteredChunkIndex); for (int i = 0; i < ((ArchetypeChunk)(ref chunk)).Count; i++) { Citizen val2 = nativeArray2[i]; CitizenAge age = ((Citizen)(ref val2)).GetAge(); if ((int)age == 3) { continue; } int num = ((Random)(ref random)).NextInt(100); int num2 = ((Random)(ref random)).NextInt(100); int num3 = (((int)age == 0) ? 1 : (((Citizen)(ref val2)).GetEducationLevel() + 1)); int failedEducationCount = ((Citizen)(ref val2)).GetFailedEducationCount(); if (failedEducationCount == 0 && num3 == 3) { num3 = 4; } bool flag = (int)age == 0 || ((int)age == 1 && num3 >= 2) || ((int)age == 2 && num3 >= 3); Entity household = m_HouseholdMembers[nativeArray[i]].m_Household; if (!flag || !m_HouseholdDatas.HasComponent(household) || (m_HouseholdDatas[household].m_Flags & 4) == 0 || failedEducationCount >= 3 || num3 < 1 || num3 > 4) { continue; } int householdWorth = EconomyUtils.GetHouseholdWorth(household, m_HouseholdDatas[household], m_Resources[household]); float fee = ServiceFeeSystem.GetFee(ServiceFeeSystem.GetEducationResource(num3), m_Fees[m_City]); SchoolData val3 = default(SchoolData); float num4 = 1f; float dropoutProbability = GraduationSystem.GetDropoutProbability(val2, num3, 0f, fee, householdWorth, m_SimulationFrame, ref m_EconomyParameters, val3, val, num4, m_TimeData); Random pseudoRandom = ((Citizen)(ref val2)).GetPseudoRandom((CitizenPseudoRandom)1176609278); float willingness = ((Random)(ref pseudoRandom)).NextFloat(); float num5 = GetEnteringProbability(age, nativeArray3.IsCreated, num3, val2.m_WellBeing, willingness, val); if ((int)age == 2 && m_HouseholdCitizens.HasBuffer(household)) { DynamicBuffer<HouseholdCitizen> val4 = m_HouseholdCitizens[household]; for (int j = 0; j < val4.Length; j++) { Citizen val5 = m_EntityCitizen[val4[j].m_Citizen]; CitizenAge age2 = ((Citizen)(ref val5)).GetAge(); if ((int)age2 == 0 || (int)age2 == 1 || (int)age2 == 3) { num5 /= 4f; } } } if ((float)num2 > 100f * dropoutProbability && (float)num < 100f * num5) { if (m_PropertyRenters.HasComponent(household) && !m_TouristHouseholds.HasComponent(household)) { Entity property = m_PropertyRenters[household].m_Property; Entity val6 = ((ParallelWriter)(ref m_CommandBuffer)).CreateEntity(unfilteredChunkIndex); ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<Owner>(unfilteredChunkIndex, val6, new Owner { m_Owner = nativeArray[i] }); ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<SchoolSeeker>(unfilteredChunkIndex, val6, new SchoolSeeker { m_Level = num3 }); ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<CurrentBuilding>(unfilteredChunkIndex, val6, new CurrentBuilding { m_CurrentBuilding = property }); ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<HasSchoolSeeker>(unfilteredChunkIndex, nativeArray[i], new HasSchoolSeeker { m_Seeker = val6 }); } } else { ((Citizen)(ref val2)).SetFailedEducationCount(math.min(3, failedEducationCount + 1)); nativeArray2[i] = val2; } } } void IJobChunk.Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { Execute(in chunk, unfilteredChunkIndex, useEnabledMask, in chunkEnabledMask); } } private struct TypeHandle { public SharedComponentTypeHandle<UpdateFrame> __Game_Simulation_UpdateFrame_SharedComponentTypeHandle; public ComponentTypeHandle<Citizen> __Game_Citizens_Citizen_RW_ComponentTypeHandle; [ReadOnly] public EntityTypeHandle __Unity_Entities_Entity_TypeHandle; [ReadOnly] public ComponentTypeHandle<Worker> __Game_Citizens_Worker_RO_ComponentTypeHandle; [ReadOnly] public ComponentLookup<HouseholdMember> __Game_Citizens_HouseholdMember_RO_ComponentLookup; [ReadOnly] public BufferLookup<HouseholdCitizen> __Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle; [ReadOnly] public ComponentLookup<PropertyRenter> __Game_Buildings_PropertyRenter_RO_ComponentLookup; [ReadOnly] public BufferLookup<CityModifier> __Game_City_CityModifier_RO_BufferLookup; [ReadOnly] public ComponentLookup<PrefabRef> __Game_Prefabs_PrefabRef_RO_ComponentLookup; [ReadOnly] public ComponentLookup<SchoolData> __Game_Prefabs_SchoolData_RO_ComponentLookup; [ReadOnly] public ComponentLookup<Household> __Game_Citizens_Household_RO_ComponentLookup; [ReadOnly] public BufferLookup<Resources> __Game_Economy_Resources_RO_BufferLookup; [ReadOnly] public BufferLookup<ServiceFee> __Game_City_ServiceFee_RO_BufferLookup; [ReadOnly] public ComponentLookup<TouristHousehold> __Game_Citizens_TouristHousehold_RO_ComponentLookup; [ReadOnly] public ComponentLookup<Citizen> __Game_Citizens_Citizen_RO_ComponentLookup; [MethodImpl(MethodImplOptions.AggressiveInlining)] public void __AssignHandles(ref SystemState state) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) __Game_Simulation_UpdateFrame_SharedComponentTypeHandle = ((SystemState)(ref state)).GetSharedComponentTypeHandle<UpdateFrame>(); __Game_Citizens_Citizen_RW_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<Citizen>(false); __Unity_Entities_Entity_TypeHandle = ((SystemState)(ref state)).GetEntityTypeHandle(); __Game_Citizens_Worker_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<Worker>(true); __Game_Citizens_HouseholdMember_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<HouseholdMember>(true); __Game_Buildings_PropertyRenter_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<PropertyRenter>(true); __Game_City_CityModifier_RO_BufferLookup = ((SystemState)(ref state)).GetBufferLookup<CityModifier>(true); __Game_Prefabs_PrefabRef_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<PrefabRef>(true); __Game_Prefabs_SchoolData_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<SchoolData>(true); __Game_Citizens_Household_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Household>(true); __Game_Economy_Resources_RO_BufferLookup = ((SystemState)(ref state)).GetBufferLookup<Resources>(true); __Game_City_ServiceFee_RO_BufferLookup = ((SystemState)(ref state)).GetBufferLookup<ServiceFee>(true); __Game_Citizens_TouristHousehold_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<TouristHousehold>(true); __Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle = ((SystemState)(ref state)).GetBufferLookup<HouseholdCitizen>(true); __Game_Citizens_Citizen_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Citizen>(true); } } public const uint UPDATE_INTERVAL = 8192u; private EntityQuery m_CitizenGroup; private SimulationSystem m_SimulationSystem; private EndFrameBarrier m_EndFrameBarrier; private CitySystem m_CitySystem; private TypeHandle __TypeHandle; private EntityQuery __query_2069025488_0; private EntityQuery __query_2069025488_1; public override int GetUpdateInterval(SystemUpdatePhase phase) { return 512; } [Preserve] protected override void OnCreate() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) ((GameSystemBase)this).OnCreate(); m_SimulationSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<SimulationSystem>(); m_EndFrameBarrier = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<EndFrameBarrier>(); m_CitySystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<CitySystem>(); EntityQueryDesc[] array = new EntityQueryDesc[1]; EntityQueryDesc val = new EntityQueryDesc(); val.All = (ComponentType[])(object)new ComponentType[2] { ComponentType.ReadWrite<Citizen>(), ComponentType.ReadOnly<UpdateFrame>() }; val.None = (ComponentType[])(object)new ComponentType[5] { ComponentType.ReadOnly<HealthProblem>(), ComponentType.ReadOnly<HasJobSeeker>(), ComponentType.ReadOnly<HasSchoolSeeker>(), ComponentType.ReadOnly<Student>(), ComponentType.ReadOnly<Deleted>() }; array[0] = val; m_CitizenGroup = ((ComponentSystemBase)this).GetEntityQuery((EntityQueryDesc[])(object)array); ((ComponentSystemBase)this).RequireForUpdate(m_CitizenGroup); ((ComponentSystemBase)this).RequireForUpdate<EconomyParameterData>(); ((ComponentSystemBase)this).RequireForUpdate<TimeData>(); } [Preserve] protected override void OnUpdate() { //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) uint updateFrameWithInterval = SimulationUtils.GetUpdateFrameWithInterval(m_SimulationSystem.frameIndex, (uint)((GameSystemBase)this).GetUpdateInterval((SystemUpdatePhase)12), 16); __TypeHandle.__Game_Citizens_TouristHousehold_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_City_ServiceFee_RO_BufferLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Economy_Resources_RO_BufferLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Household_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Prefabs_SchoolData_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Prefabs_PrefabRef_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_City_CityModifier_RO_BufferLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Buildings_PropertyRenter_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_HouseholdMember_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Worker_RO_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); ((EntityTypeHandle)(ref __TypeHandle.__Unity_Entities_Entity_TypeHandle)).Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Citizen_RW_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Simulation_UpdateFrame_SharedComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); ApplyToSchoolJob applyToSchoolJob = default(ApplyToSchoolJob); applyToSchoolJob.m_UpdateFrameType = __TypeHandle.__Game_Simulation_UpdateFrame_SharedComponentTypeHandle; applyToSchoolJob.m_CitizenType = __TypeHandle.__Game_Citizens_Citizen_RW_ComponentTypeHandle; applyToSchoolJob.m_EntityType = __TypeHandle.__Unity_Entities_Entity_TypeHandle; applyToSchoolJob.m_WorkerType = __TypeHandle.__Game_Citizens_Worker_RO_ComponentTypeHandle; applyToSchoolJob.m_HouseholdMembers = __TypeHandle.__Game_Citizens_HouseholdMember_RO_ComponentLookup; applyToSchoolJob.m_HouseholdCitizens = __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle; applyToSchoolJob.m_PropertyRenters = __TypeHandle.__Game_Buildings_PropertyRenter_RO_ComponentLookup; applyToSchoolJob.m_CityModifiers = __TypeHandle.__Game_City_CityModifier_RO_BufferLookup; applyToSchoolJob.m_Prefabs = __TypeHandle.__Game_Prefabs_PrefabRef_RO_ComponentLookup; applyToSchoolJob.m_SchoolDatas = __TypeHandle.__Game_Prefabs_SchoolData_RO_ComponentLookup; applyToSchoolJob.m_HouseholdDatas = __TypeHandle.__Game_Citizens_Household_RO_ComponentLookup; applyToSchoolJob.m_Resources = __TypeHandle.__Game_Economy_Resources_RO_BufferLookup; applyToSchoolJob.m_Fees = __TypeHandle.__Game_City_ServiceFee_RO_BufferLookup; applyToSchoolJob.m_TouristHouseholds = __TypeHandle.__Game_Citizens_TouristHousehold_RO_ComponentLookup; applyToSchoolJob.m_RandomSeed = RandomSeed.Next(); applyToSchoolJob.m_SimulationFrame = m_SimulationSystem.frameIndex; applyToSchoolJob.m_EconomyParameters = ((EntityQuery)(ref __query_2069025488_0)).GetSingleton<EconomyParameterData>(); applyToSchoolJob.m_TimeData = ((EntityQuery)(ref __query_2069025488_1)).GetSingleton<TimeData>(); applyToSchoolJob.m_City = m_CitySystem.City; applyToSchoolJob.m_UpdateFrameIndex = updateFrameWithInterval; EntityCommandBuffer val = ((SafeCommandBufferSystem)m_EndFrameBarrier).CreateCommandBuffer(); applyToSchoolJob.m_CommandBuffer = ((EntityCommandBuffer)(ref val)).AsParallelWriter(); applyToSchoolJob.m_EntityCitizen = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup; ApplyToSchoolJob applyToSchoolJob2 = applyToSchoolJob; ((SystemBase)this).Dependency = JobChunkExtensions.ScheduleParallel<ApplyToSchoolJob>(applyToSchoolJob2, m_CitizenGroup, ((SystemBase)this).Dependency); m_EndFrameBarrier.AddJobHandleForProducer(((SystemBase)this).Dependency); } public static float GetEnteringProbability(CitizenAge age, bool worker, int level, int wellbeing, float willingness, DynamicBuffer<CityModifier> cityModifiers) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Invalid comparison between Unknown and I4 //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Invalid comparison between Unknown and I4 //IL_0103: Unknown result type (might be due to invalid IL or missing references) if (level == 1) { if ((int)age > 0) { return 0f; } return 1f; } if ((int)age == 0 || (int)age == 3) { return 0f; } float num = (float)wellbeing / 100f * (0.5f + willingness); switch (level) { case 2: if ((int)age != 1) { return 0f; } return 0.77f * (worker ? 0.9f : 1f) * math.log(2.6f * num + 1f); case 3: return 0.5f * (worker ? 0.75f : 1f) * math.log(1.6f * num + 1f); case 4: { float result = 0.3f * (worker ? 0.6f : 1f) * num; CityUtils.ApplyModifier(ref result, cityModifiers, (CityModifierType)14); return result; } default: return 0f; } } [MethodImpl(MethodImplOptions.AggressiveInlining)] private void __AssignQueries(ref SystemState state) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) EntityQueryDesc[] array = new EntityQueryDesc[1]; EntityQueryDesc val = new EntityQueryDesc(); val.All = (ComponentType[])(object)new ComponentType[1] { ComponentType.ReadOnly<EconomyParameterData>() }; val.Any = (ComponentType[])(object)new ComponentType[0]; val.None = (ComponentType[])(object)new ComponentType[0]; val.Disabled = (ComponentType[])(object)new ComponentType[0]; val.Absent = (ComponentType[])(object)new ComponentType[0]; val.Options = (EntityQueryOptions)16; array[0] = val; __query_2069025488_0 = ((SystemState)(ref state)).GetEntityQuery((EntityQueryDesc[])(object)array); EntityQueryDesc[] array2 = new EntityQueryDesc[1]; val = new EntityQueryDesc(); val.All = (ComponentType[])(object)new ComponentType[1] { ComponentType.ReadOnly<TimeData>() }; val.Any = (ComponentType[])(object)new ComponentType[0]; val.None = (ComponentType[])(object)new ComponentType[0]; val.Disabled = (ComponentType[])(object)new ComponentType[0]; val.Absent = (ComponentType[])(object)new ComponentType[0]; val.Options = (EntityQueryOptions)16; array2[0] = val; __query_2069025488_1 = ((SystemState)(ref state)).GetEntityQuery((EntityQueryDesc[])(object)array2); } protected override void OnCreateForCompiler() { ((ComponentSystemBase)this).OnCreateForCompiler(); __AssignQueries(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__AssignHandles(ref ((SystemBase)this).CheckedStateRef); } [Preserve] public ApplyToSchoolSystem() { } } [CompilerGenerated] public class BirthSystem : GameSystemBase { [BurstCompile] private struct CheckBirthJob : IJobChunk { public Concurrent m_DebugBirthCounter; [ReadOnly] public TimeData m_TimeData; [ReadOnly] public uint m_SimulationFrame; [ReadOnly] public EntityTypeHandle m_EntityType; [ReadOnly] public ComponentTypeHandle<Citizen> m_CitizenType; [ReadOnly] public ComponentTypeHandle<HouseholdMember> m_MemberType; [ReadOnly] public SharedComponentTypeHandle<UpdateFrame> m_UpdateFrameType; [ReadOnly] public BufferLookup<HouseholdCitizen> m_HouseholdCitizens; [ReadOnly] public ComponentLookup<Citizen> m_Citizens; [ReadOnly] public ComponentLookup<Student> m_Students; [ReadOnly] public ComponentLookup<PropertyRenter> m_PropertyRenters; public uint m_UpdateFrameIndex; public RandomSeed m_RandomSeed; [ReadOnly] public int m_BirthChance; [ReadOnly] public NativeList<Entity> m_CitizenPrefabs; [ReadOnly] public NativeList<ArchetypeData> m_CitizenPrefabArchetypes; public ParallelWriter m_CommandBuffer; public ParallelWriter<StatisticsEvent> m_StatisticsEventQueue; private Entity SpawnBaby(int index, Entity household, ref Random random, Entity building) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) ((Concurrent)(ref m_DebugBirthCounter)).Increment(); int num = ((Random)(ref random)).NextInt(m_CitizenPrefabs.Length); Entity prefab = m_CitizenPrefabs[num]; ArchetypeData val = m_CitizenPrefabArchetypes[num]; Entity val2 = ((ParallelWriter)(ref m_CommandBuffer)).CreateEntity(index, val.m_Archetype); PrefabRef val3 = default(PrefabRef); val3.m_Prefab = prefab; ((ParallelWriter)(ref m_CommandBuffer)).SetComponent<PrefabRef>(index, val2, val3); HouseholdMember val4 = default(HouseholdMember); val4.m_Household = household; HouseholdMember val5 = val4; ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<HouseholdMember>(index, val2, val5); Citizen val6 = default(Citizen); val6.m_BirthDay = 0; val6.m_State = (CitizenFlags)0; Citizen val7 = val6; ((ParallelWriter)(ref m_CommandBuffer)).SetComponent<Citizen>(index, val2, val7); ((ParallelWriter)(ref m_CommandBuffer)).AddComponent<CurrentBuilding>(index, val2, new CurrentBuilding { m_CurrentBuilding = building }); return val2; } public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Invalid comparison between Unknown and I4 //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Invalid comparison between Unknown and I4 //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Invalid comparison between Unknown and I4 //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) if (((ArchetypeChunk)(ref chunk)).GetSharedComponent<UpdateFrame>(m_UpdateFrameType).m_Index != m_UpdateFrameIndex) { return; } NativeArray<Entity> nativeArray = ((ArchetypeChunk)(ref chunk)).GetNativeArray(m_EntityType); NativeArray<Citizen> nativeArray2 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Citizen>(ref m_CitizenType); NativeArray<HouseholdMember> nativeArray3 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<HouseholdMember>(ref m_MemberType); Random random = ((RandomSeed)(ref m_RandomSeed)).GetRandom(unfilteredChunkIndex); for (int i = 0; i < nativeArray.Length; i++) { Entity val = nativeArray[i]; Citizen val2 = nativeArray2[i]; string text = ""; if ((int)((Citizen)(ref val2)).GetAge() != 2 || (val2.m_State & 0x608) > 0) { continue; } Entity household = nativeArray3[i].m_Household; Entity val3 = Entity.Null; if (m_PropertyRenters.HasComponent(household)) { val3 = m_PropertyRenters[household].m_Property; } if (val3 == Entity.Null) { continue; } DynamicBuffer<HouseholdCitizen> val4 = m_HouseholdCitizens[household]; int num = m_BirthChance; Entity @null = Entity.Null; for (int j = 0; j < val4.Length; j++) { @null = val4[j].m_Citizen; if (m_Citizens.HasComponent(@null)) { Citizen val5 = m_Citizens[@null]; if ((val5.m_State & 8) != 0 && (int)((Citizen)(ref val5)).GetAge() == 2 && ((Citizen)(ref val5)).GetAgeInDays(m_SimulationFrame, m_TimeData) <= 63f) { num += 80; break; } } } if (m_Students.HasComponent(val) || val4.Length >= 4 || ((Citizen)(ref val2)).GetAgeInDays(m_SimulationFrame, m_TimeData) >= 63f) { if (m_Students.HasComponent(val)) { num /= 4; } if (val4.Length >= 4) { num /= 4; } if (((Citizen)(ref val2)).GetAgeInDays(m_SimulationFrame, m_TimeData) >= 63f) { num /= 4; } } if (((Random)(ref random)).NextInt(1000 * kUpdatesPerDay) < num) { SpawnBaby(unfilteredChunkIndex, household, ref random, val3); m_StatisticsEventQueue.Enqueue(new StatisticsEvent { m_Statistic = (StatisticType)27, m_Change = 1 }); } } } void IJobChunk.Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { Execute(in chunk, unfilteredChunkIndex, useEnabledMask, in chunkEnabledMask); } } [BurstCompile] private struct SumBirthJob : IJob { public NativeCounter m_DebugBirthCount; public NativeValue<int> m_DebugBirth; public void Execute() { m_DebugBirth.value = ((NativeCounter)(ref m_DebugBirthCount)).Count; } } private struct TypeHandle { [ReadOnly] public EntityTypeHandle __Unity_Entities_Entity_TypeHandle; [ReadOnly] public ComponentTypeHandle<Citizen> __Game_Citizens_Citizen_RO_ComponentTypeHandle; [ReadOnly] public ComponentTypeHandle<HouseholdMember> __Game_Citizens_HouseholdMember_RO_ComponentTypeHandle; public SharedComponentTypeHandle<UpdateFrame> __Game_Simulation_UpdateFrame_SharedComponentTypeHandle; [ReadOnly] public ComponentLookup<Citizen> __Game_Citizens_Citizen_RO_ComponentLookup; [ReadOnly] public BufferLookup<HouseholdCitizen> __Game_Citizens_HouseholdCitizen_RO_BufferLookup; [ReadOnly] public ComponentLookup<Student> __Game_Citizens_Student_RO_ComponentLookup; [ReadOnly] public ComponentLookup<PropertyRenter> __Game_Buildings_PropertyRenter_RO_ComponentLookup; [MethodImpl(MethodImplOptions.AggressiveInlining)] public void __AssignHandles(ref SystemState state) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) __Unity_Entities_Entity_TypeHandle = ((SystemState)(ref state)).GetEntityTypeHandle(); __Game_Citizens_Citizen_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<Citizen>(true); __Game_Citizens_HouseholdMember_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<HouseholdMember>(true); __Game_Simulation_UpdateFrame_SharedComponentTypeHandle = ((SystemState)(ref state)).GetSharedComponentTypeHandle<UpdateFrame>(); __Game_Citizens_Citizen_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Citizen>(true); __Game_Citizens_HouseholdCitizen_RO_BufferLookup = ((SystemState)(ref state)).GetBufferLookup<HouseholdCitizen>(true); __Game_Citizens_Student_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Student>(true); __Game_Buildings_PropertyRenter_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<PropertyRenter>(true); } } public static readonly int kUpdatesPerDay = 16; private EndFrameBarrier m_EndFrameBarrier; private SimulationSystem m_SimulationSystem; private CityStatisticsSystem m_CityStatisticsSystem; private TriggerSystem m_TriggerSystem; [DebugWatchValue] private NativeValue<int> m_DebugBirth; private NativeCounter m_DebugBirthCounter; private EntityQuery m_CitizenQuery; private EntityQuery m_CitizenPrefabQuery; private EntityQuery m_TimeDataQuery; public int m_BirthChance = 20; private TypeHandle __TypeHandle; public override int GetUpdateInterval(SystemUpdatePhase phase) { return 262144 / (kUpdatesPerDay * 16); } [Preserve] protected override void OnCreate() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) ((GameSystemBase)this).OnCreate(); m_DebugBirthCounter = new NativeCounter((Allocator)4); m_DebugBirth = new NativeValue<int>((Allocator)4); m_EndFrameBarrier = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<EndFrameBarrier>(); m_SimulationSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<SimulationSystem>(); m_CityStatisticsSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<CityStatisticsSystem>(); m_TriggerSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<TriggerSystem>(); m_CitizenQuery = ((ComponentSystemBase)this).GetEntityQuery((ComponentType[])(object)new ComponentType[6] { ComponentType.ReadOnly<Citizen>(), ComponentType.ReadOnly<HouseholdMember>(), ComponentType.ReadOnly<UpdateFrame>(), ComponentType.ReadOnly<CurrentBuilding>(), ComponentType.Exclude<Deleted>(), ComponentType.Exclude<Temp>() }); m_CitizenPrefabQuery = ((ComponentSystemBase)this).GetEntityQuery((ComponentType[])(object)new ComponentType[2] { ComponentType.ReadOnly<CitizenData>(), ComponentType.ReadOnly<ArchetypeData>() }); m_TimeDataQuery = ((ComponentSystemBase)this).GetEntityQuery((ComponentType[])(object)new ComponentType[1] { ComponentType.ReadOnly<TimeData>() }); ((ComponentSystemBase)this).RequireForUpdate(m_CitizenPrefabQuery); ((ComponentSystemBase)this).RequireForUpdate(m_CitizenQuery); } [Preserve] protected override void OnDestroy() { ((GameSystemBase)this).OnDestroy(); ((NativeCounter)(ref m_DebugBirthCounter)).Dispose(); m_DebugBirth.Dispose(); } [Preserve] protected override void OnUpdate() { //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_0277: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) uint updateFrame = SimulationUtils.GetUpdateFrame(m_SimulationSystem.frameIndex, kUpdatesPerDay, 16); __TypeHandle.__Game_Buildings_PropertyRenter_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Student_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Simulation_UpdateFrame_SharedComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_HouseholdMember_RO_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Citizen_RO_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); ((EntityTypeHandle)(ref __TypeHandle.__Unity_Entities_Entity_TypeHandle)).Update(ref ((SystemBase)this).CheckedStateRef); CheckBirthJob checkBirthJob = default(CheckBirthJob); checkBirthJob.m_DebugBirthCounter = ((NativeCounter)(ref m_DebugBirthCounter)).ToConcurrent(); checkBirthJob.m_EntityType = __TypeHandle.__Unity_Entities_Entity_TypeHandle; checkBirthJob.m_CitizenType = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentTypeHandle; checkBirthJob.m_MemberType = __TypeHandle.__Game_Citizens_HouseholdMember_RO_ComponentTypeHandle; checkBirthJob.m_UpdateFrameType = __TypeHandle.__Game_Simulation_UpdateFrame_SharedComponentTypeHandle; checkBirthJob.m_Citizens = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup; checkBirthJob.m_HouseholdCitizens = __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferLookup; checkBirthJob.m_Students = __TypeHandle.__Game_Citizens_Student_RO_ComponentLookup; checkBirthJob.m_PropertyRenters = __TypeHandle.__Game_Buildings_PropertyRenter_RO_ComponentLookup; JobHandle val = default(JobHandle); checkBirthJob.m_CitizenPrefabArchetypes = ((EntityQuery)(ref m_CitizenPrefabQuery)).ToComponentDataListAsync<ArchetypeData>(AllocatorHandle.op_Implicit(((RewindableAllocator)(ref ((ComponentSystemBase)this).World.UpdateAllocator)).ToAllocator), ref val); JobHandle val2 = default(JobHandle); checkBirthJob.m_CitizenPrefabs = ((EntityQuery)(ref m_CitizenPrefabQuery)).ToEntityListAsync(AllocatorHandle.op_Implicit(((RewindableAllocator)(ref ((ComponentSystemBase)this).World.UpdateAllocator)).ToAllocator), ref val2); checkBirthJob.m_BirthChance = m_BirthChance; checkBirthJob.m_RandomSeed = RandomSeed.Next(); checkBirthJob.m_UpdateFrameIndex = updateFrame; EntityCommandBuffer val3 = ((SafeCommandBufferSystem)m_EndFrameBarrier).CreateCommandBuffer(); checkBirthJob.m_CommandBuffer = ((EntityCommandBuffer)(ref val3)).AsParallelWriter(); JobHandle val4 = default(JobHandle); checkBirthJob.m_StatisticsEventQueue = m_CityStatisticsSystem.GetStatisticsEventQueue(ref val4).AsParallelWriter(); checkBirthJob.m_TimeData = ((EntityQuery)(ref m_TimeDataQuery)).GetSingleton<TimeData>(); checkBirthJob.m_SimulationFrame = m_SimulationSystem.frameIndex; CheckBirthJob checkBirthJob2 = checkBirthJob; ((SystemBase)this).Dependency = JobChunkExtensions.ScheduleParallel<CheckBirthJob>(checkBirthJob2, m_CitizenQuery, JobUtils.CombineDependencies(((SystemBase)this).Dependency, val4, val2, val)); m_EndFrameBarrier.AddJobHandleForProducer(((SystemBase)this).Dependency); m_TriggerSystem.AddActionBufferWriter(((SystemBase)this).Dependency); m_CityStatisticsSystem.AddWriter(((SystemBase)this).Dependency); SumBirthJob sumBirthJob = default(SumBirthJob); sumBirthJob.m_DebugBirth = m_DebugBirth; sumBirthJob.m_DebugBirthCount = m_DebugBirthCounter; SumBirthJob sumBirthJob2 = sumBirthJob; ((SystemBase)this).Dependency = IJobExtensions.Schedule<SumBirthJob>(sumBirthJob2, ((SystemBase)this).Dependency); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private void __AssignQueries(ref SystemState state) { } protected override void OnCreateForCompiler() { ((ComponentSystemBase)this).OnCreateForCompiler(); __AssignQueries(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__AssignHandles(ref ((SystemBase)this).CheckedStateRef); } [Preserve] public BirthSystem() { } } [HarmonyPatch] internal class Patches { [HarmonyPatch(typeof(BirthSystem), "OnCreate")] [HarmonyPrefix] private static bool OnCreate(BirthSystem __instance) { ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<BirthSystem>(); ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<UpdateSystem>().UpdateAt<BirthSystem>((SystemUpdatePhase)12); return true; } [HarmonyPatch(typeof(BirthSystem), "OnCreateForCompiler")] [HarmonyPrefix] private static bool OnCreateForCompiler() { return false; } [HarmonyPatch(typeof(BirthSystem), "OnUpdate")] [HarmonyPrefix] private static bool OnUpdate(BirthSystem __instance) { ((ComponentSystemBase)((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<BirthSystem>()).Update(); return false; } [HarmonyPatch(typeof(ApplyToSchoolSystem), "OnCreate")] [HarmonyPrefix] private static bool OnCreate(ApplyToSchoolSystem __instance) { ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<ApplyToSchoolSystem>(); ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<UpdateSystem>().UpdateAt<ApplyToSchoolSystem>((SystemUpdatePhase)12); return true; } [HarmonyPatch(typeof(PayWageSystem), "OnCreate")] [HarmonyPrefix] private static bool OnCreate(PayWageSystem __instance) { ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<PayWageSystem>(); ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<UpdateSystem>().UpdateAt<PayWageSystem>((SystemUpdatePhase)12); return true; } [HarmonyPatch(typeof(PayWageSystem), "OnUpdate")] [HarmonyPrefix] private static bool OnUpdate(PayWageSystem __instance) { ((ComponentSystemBase)((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<PayWageSystem>()).Update(); return false; } [HarmonyPatch(typeof(RentAdjustSystem), "OnCreate")] [HarmonyPrefix] private static bool OnCreate(RentAdjustSystem __instance) { ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<RentAdjustSystem>(); ((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<UpdateSystem>().UpdateAt<RentAdjustSystem>((SystemUpdatePhase)12); return true; } [HarmonyPatch(typeof(RentAdjustSystem), "OnUpdate")] [HarmonyPrefix] private static bool OnUpdate(RentAdjustSystem __instance) { ((ComponentSystemBase)((ComponentSystemBase)__instance).World.GetOrCreateSystemManaged<RentAdjustSystem>()).Update(); return false; } } [CompilerGenerated] public class PayWageSystem : GameSystemBase { private struct Payment { public Entity m_Target; public int m_Amount; } [BurstCompile] private struct PayJob : IJob { public NativeQueue<Payment> m_PaymentQueue; public BufferLookup<Resources> m_Resources; public void Execute() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) Payment payment = default(Payment); while (m_PaymentQueue.TryDequeue(ref payment)) { if (m_Resources.HasBuffer(payment.m_Target)) { EconomyUtils.AddResources((Resource)1, payment.m_Amount, m_Resources[payment.m_Target]); } } } } [BurstCompile] private struct PayWageJob : IJobChunk { [ReadOnly] public EntityTypeHandle m_EntityType; public ComponentTypeHandle<TaxPayer> m_TaxPayerType; [ReadOnly] public BufferTypeHandle<HouseholdCitizen> m_HouseholdCitizenType; public BufferTypeHandle<Resources> m_ResourcesType; [ReadOnly] public SharedComponentTypeHandle<UpdateFrame> m_UpdateFrameType; [ReadOnly] public ComponentTypeHandle<CommuterHousehold> m_CommuterHouseholdType; [ReadOnly] public ComponentLookup<CompanyData> m_Companies; [ReadOnly] public ComponentLookup<Citizen> m_Citizens; [ReadOnly] public ComponentLookup<Worker> m_Workers; [ReadOnly] public ComponentLookup<Student> m_Students; [ReadOnly] public NativeArray<int> m_TaxRates; public EconomyParameterData m_EconomyParameters; public uint m_UpdateFrameIndex; public ParallelWriter<Payment> m_PaymentQueue; private void PayWage(Entity workplace, Entity worker, Entity household, Worker workerData, ref TaxPayer taxPayer, DynamicBuffer<Resources> resources, CitizenAge age, bool isCommuter, bool isStudent, ref EconomyParameterData economyParameters) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Invalid comparison between Unknown and I4 //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Invalid comparison between Unknown and I4 int num = 0; int num3; if (!(workplace != Entity.Null)) { if (1 == 0) { } int num2 = (((int)age == 0) ? (economyParameters.m_FamilyAllowance / kUpdatesPerDay) : (((int)age != 3) ? (economyParameters.m_UnemploymentBenefit / kUpdatesPerDay) : (economyParameters.m_Pension / kUpdatesPerDay))); if (1 == 0) { } num3 = num2; if (isStudent && (int)age == 2) { num3 = 1000; } } else { int num4 = ((EconomyParameterData)(ref economyParameters)).GetWage((int)workerData.m_Level); num = TaxSystem.GetResidentialTaxRate((int)workerData.m_Level, m_TaxRates); if (isCommuter) { num4 = Mathf.RoundToInt((float)num4 * economyParameters.m_CommuterWageMultiplier); } num3 = num4 / kUpdatesPerDay; if (m_Companies.HasComponent(workplace)) { m_PaymentQueue.Enqueue(new Payment { m_Target = workplace, m_Amount = -num3 }); } } EconomyUtils.AddResources((Resource)1, num3, resources); num3 -= economyParameters.m_ResidentialMinimumEarnings / kUpdatesPerDay; if (!isCommuter && num != 0 && num3 > 0) { taxPayer.m_AverageTaxRate = Mathf.RoundToInt(math.lerp((float)taxPayer.m_AverageTaxRate, (float)num, (float)num3 / (float)(num3 + taxPayer.m_UntaxedIncome))); taxPayer.m_UntaxedIncome += num3; } } public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) if (m_UpdateFrameIndex != ((ArchetypeChunk)(ref chunk)).GetSharedComponent<UpdateFrame>(m_UpdateFrameType).m_Index) { return; } bool isCommuter = ((ArchetypeChunk)(ref chunk)).Has<CommuterHousehold>(ref m_CommuterHouseholdType); NativeArray<Entity> nativeArray = ((ArchetypeChunk)(ref chunk)).GetNativeArray(m_EntityType); NativeArray<TaxPayer> nativeArray2 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<TaxPayer>(ref m_TaxPayerType); BufferAccessor<HouseholdCitizen> bufferAccessor = ((ArchetypeChunk)(ref chunk)).GetBufferAccessor<HouseholdCitizen>(ref m_HouseholdCitizenType); BufferAccessor<Resources> bufferAccessor2 = ((ArchetypeChunk)(ref chunk)).GetBufferAccessor<Resources>(ref m_ResourcesType); for (int i = 0; i < ((ArchetypeChunk)(ref chunk)).Count; i++) { Entity household = nativeArray[i]; DynamicBuffer<HouseholdCitizen> val = bufferAccessor[i]; DynamicBuffer<Resources> resources = bufferAccessor2[i]; TaxPayer taxPayer = nativeArray2[i]; for (int j = 0; j < val.Length; j++) { Entity citizen = val[j].m_Citizen; Entity workplace = Entity.Null; Worker workerData = default(Worker); bool isStudent = false; if (m_Workers.HasComponent(citizen)) { workplace = m_Workers[citizen].m_Workplace; workerData = m_Workers[citizen]; } if (m_Students.HasComponent(citizen)) { isStudent = true; } Citizen val2 = m_Citizens[citizen]; CitizenAge age = ((Citizen)(ref val2)).GetAge(); PayWage(workplace, citizen, household, workerData, ref taxPayer, resources, age, isCommuter, isStudent, ref m_EconomyParameters); } nativeArray2[i] = taxPayer; } } void IJobChunk.Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask) { Execute(in chunk, unfilteredChunkIndex, useEnabledMask, in chunkEnabledMask); } } private struct TypeHandle { [ReadOnly] public EntityTypeHandle __Unity_Entities_Entity_TypeHandle; [ReadOnly] public BufferTypeHandle<HouseholdCitizen> __Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle; public BufferTypeHandle<Resources> __Game_Economy_Resources_RW_BufferTypeHandle; public ComponentTypeHandle<TaxPayer> __Game_Agents_TaxPayer_RW_ComponentTypeHandle; [ReadOnly] public ComponentTypeHandle<CommuterHousehold> __Game_Citizens_CommuterHousehold_RO_ComponentTypeHandle; [ReadOnly] public ComponentLookup<Worker> __Game_Citizens_Worker_RO_ComponentLookup; [ReadOnly] public ComponentLookup<Citizen> __Game_Citizens_Citizen_RO_ComponentLookup; [ReadOnly] public ComponentLookup<CompanyData> __Game_Companies_CompanyData_RO_ComponentLookup; [ReadOnly] public ComponentLookup<Student> __Game_Citizens_Student_RO_ComponentLookup; public BufferLookup<Resources> __Game_Economy_Resources_RW_BufferLookup; [MethodImpl(MethodImplOptions.AggressiveInlining)] public void __AssignHandles(ref SystemState state) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) __Unity_Entities_Entity_TypeHandle = ((SystemState)(ref state)).GetEntityTypeHandle(); __Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle = ((SystemState)(ref state)).GetBufferTypeHandle<HouseholdCitizen>(true); __Game_Economy_Resources_RW_BufferTypeHandle = ((SystemState)(ref state)).GetBufferTypeHandle<Resources>(false); __Game_Agents_TaxPayer_RW_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<TaxPayer>(false); __Game_Citizens_CommuterHousehold_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<CommuterHousehold>(true); __Game_Citizens_Worker_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Worker>(true); __Game_Citizens_Citizen_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Citizen>(true); __Game_Companies_CompanyData_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<CompanyData>(true); __Game_Economy_Resources_RW_BufferLookup = ((SystemState)(ref state)).GetBufferLookup<Resources>(false); __Game_Citizens_Student_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Student>(true); } } public static readonly int kUpdatesPerDay = 32; private SimulationSystem m_SimulationSystem; private TaxSystem m_TaxSystem; private EntityQuery m_EconomyParameterGroup; private EntityQuery m_HouseholdGroup; private NativeQueue<Payment> m_PaymentQueue; private TypeHandle __TypeHandle; public override int GetUpdateInterval(SystemUpdatePhase phase) { return 262144 / (kUpdatesPerDay * 16); } [Preserve] protected override void OnCreate() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) ((GameSystemBase)this).OnCreate(); m_SimulationSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<SimulationSystem>(); m_TaxSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<TaxSystem>(); m_PaymentQueue = new NativeQueue<Payment>(AllocatorHandle.op_Implicit((Allocator)4)); m_EconomyParameterGroup = ((ComponentSystemBase)this).GetEntityQuery((ComponentType[])(object)new ComponentType[1] { ComponentType.ReadOnly<EconomyParameterData>() }); m_HouseholdGroup = ((ComponentSystemBase)this).GetEntityQuery((ComponentType[])(object)new ComponentType[6] { ComponentType.ReadOnly<Household>(), ComponentType.ReadOnly<UpdateFrame>(), ComponentType.ReadOnly<HouseholdCitizen>(), ComponentType.Exclude<TouristHousehold>(), ComponentType.Exclude<Deleted>(), ComponentType.Exclude<Temp>() }); ((ComponentSystemBase)this).RequireForUpdate(m_EconomyParameterGroup); ((ComponentSystemBase)this).RequireForUpdate(m_HouseholdGroup); } [Preserve] protected override void OnDestroy() { m_PaymentQueue.Dispose(); ((GameSystemBase)this).OnDestroy(); } [Preserve] protected override void OnUpdate() { //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) uint updateFrame = SimulationUtils.GetUpdateFrame(m_SimulationSystem.frameIndex, kUpdatesPerDay, 16); __TypeHandle.__Game_Companies_CompanyData_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Worker_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_CommuterHousehold_RO_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Agents_TaxPayer_RW_ComponentTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Economy_Resources_RW_BufferTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle.Update(ref ((SystemBase)this).CheckedStateRef); ((EntityTypeHandle)(ref __TypeHandle.__Unity_Entities_Entity_TypeHandle)).Update(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__Game_Citizens_Student_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef); PayWageJob payWageJob = default(PayWageJob); payWageJob.m_EntityType = __TypeHandle.__Unity_Entities_Entity_TypeHandle; payWageJob.m_HouseholdCitizenType = __TypeHandle.__Game_Citizens_HouseholdCitizen_RO_BufferTypeHandle; payWageJob.m_ResourcesType = __TypeHandle.__Game_Economy_Resources_RW_BufferTypeHandle; payWageJob.m_TaxPayerType = __TypeHandle.__Game_Agents_TaxPayer_RW_ComponentTypeHandle; payWageJob.m_CommuterHouseholdType = __TypeHandle.__Game_Citizens_CommuterHousehold_RO_ComponentTypeHandle; payWageJob.m_UpdateFrameType = ((ComponentSystemBase)this).GetSharedComponentTypeHandle<UpdateFrame>(); payWageJob.m_Workers = __TypeHandle.__Game_Citizens_Worker_RO_ComponentLookup; payWageJob.m_Citizens = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup; payWageJob.m_Companies = __TypeHandle.__Game_Companies_CompanyData_RO_ComponentLookup; payWageJob.m_EconomyParameters = ((EntityQuery)(ref m_EconomyParameterGroup)).GetSingleton<EconomyParameterData>(); payWageJob.m_UpdateFrameIndex = updateFrame; payWageJob.m_PaymentQueue = m_PaymentQueue.AsParallelWriter(); payWageJob.m_TaxRates = m_TaxSystem.GetTaxRates(); payWageJob.m_Students = __TypeHandle.__Game_Citizens_Student_RO_ComponentLookup; JobHandle val = JobChunkExtensions.ScheduleParallel<PayWageJob>(payWageJob, m_HouseholdGroup, ((SystemBase)this).Dependency); m_TaxSystem.AddReader(val); __TypeHandle.__Game_Economy_Resources_RW_BufferLookup.Update(ref ((SystemBase)this).CheckedStateRef); PayJob payJob = default(PayJob); payJob.m_Resources = __TypeHandle.__Game_Economy_Resources_RW_BufferLookup; payJob.m_PaymentQueue = m_PaymentQueue; PayJob payJob2 = payJob; ((SystemBase)this).Dependency = IJobExtensions.Schedule<PayJob>(payJob2, val); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private void __AssignQueries(ref SystemState state) { } protected override void OnCreateForCompiler() { ((ComponentSystemBase)this).OnCreateForCompiler(); __AssignQueries(ref ((SystemBase)this).CheckedStateRef); __TypeHandle.__AssignHandles(ref ((SystemBase)this).CheckedStateRef); } [Preserve] public PayWageSystem() { } } [BepInPlugin("ResponsibleCims", "ResponsibleCims", "1.0.0")] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected O, but got Unknown ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin ResponsibleCims is loaded!"); Harmony val = new Harmony("ResponsibleCims"); val.PatchAll(); } } [CompilerGenerated] public class RentAdjustSystem : GameSystemBase { [BurstCompile] private struct AdjustRentJob : IJobChunk { [ReadOnly] public EntityTypeHandle m_EntityType; public BufferTypeHandle<Renter> m_RenterType; [ReadOnly] public SharedComponentTypeHandle<UpdateFrame> m_UpdateFrameType; [NativeDisableParallelForRestriction] public ComponentLookup<PropertyRenter> m_Renters; [ReadOnly] public ComponentLookup<Household> m_Households; [ReadOnly] public ComponentLookup<Worker> m_Workers; [NativeDisableParallelForRestriction] public ComponentLookup<Building> m_Buildings; [ReadOnly] public ComponentLookup<PrefabRef> m_Prefabs; [ReadOnly] public ComponentLookup<BuildingPropertyData> m_BuildingProperties; [ReadOnly] public ComponentLookup<BuildingData> m_BuildingDatas; [ReadOnly] public ComponentLookup<WorkProvider> m_WorkProviders; [ReadOnly] public ComponentLookup<IndustrialProcessData> m_ProcessDatas; [ReadOnly] public ComponentLookup<ServiceAvailable> m_ServiceAvailables; [ReadOnly] public ComponentLookup<ServiceCompanyData> m_ServiceCompanyDatas; [ReadOnly] public ComponentLookup<ProcessingCompany> m_ProcessingCompanies; [ReadOnly] public ComponentLookup<BuyingCompany> m_BuyingCompanies; [ReadOnly] public ComponentLookup<CompanyNotifications> m_CompanyNotifications; [ReadOnly] public ComponentLookup<Attached> m_Attached; [ReadOnly] public ComponentLookup<Lot> m_Lots; [ReadOnly] public ComponentLookup<Geometry> m_Geometries; [ReadOnly] public ComponentLookup<Extractor> m_AreaExtractors; [ReadOnly] public ComponentLookup<LandValue> m_LandValues; [NativeDisableParallelForRestriction] public ComponentLookup<PropertyOnMarket> m_OnMarkets; [ReadOnly] public ComponentLookup<ConsumptionData> m_ConsumptionDatas; [ReadOnly] public BufferLookup<HouseholdCitizen> m_Citizens; [ReadOnly] public BufferLookup<ServiceCoverage> m_ServiceCoverages; [ReadOnly] public BufferLookup<ResourceAvailability> m_Availabilities; [ReadOnly] public BufferLookup<SubArea> m_SubAreas; [ReadOnly] public ComponentLookup<SpawnableBuildingData> m_SpawnableBuildings; [ReadOnly] public ComponentLookup<ResourceData> m_ResourceDatas; [ReadOnly] public ComponentLookup<StorageCompany> m_StorageCompanies; [ReadOnly] public ComponentLookup<WorkplaceData> m_WorkplaceDatas; [ReadOnly] public ComponentLookup<Abandoned> m_Abandoned; [ReadOnly] public ComponentLookup<Destroyed> m_Destroyed; [ReadOnly] public ComponentLookup<CrimeProducer> m_Crimes; [ReadOnly] public ComponentLookup<Transform> m_Transforms; [ReadOnly] public ComponentLookup<Locked> m_Locked; [ReadOnly] public BufferLookup<CityModifier> m_CityModifiers; [ReadOnly] public ComponentLookup<CurrentDistrict> m_Districts; [ReadOnly] public BufferLookup<DistrictModifier> m_DistrictModifiers; [ReadOnly] public ComponentLookup<HealthProblem> m_HealthProblems; [ReadOnly] public BufferLookup<Employee> m_Employees; [ReadOnly] public BufferLookup<Efficiency> m_BuildingEfficiencies; [ReadOnly] public ComponentLookup<ExtractorAreaData> m_ExtractorDatas; [ReadOnly] public ComponentLookup<Citizen> m_CitizenDatas; [ReadOnly] public ComponentLookup<Student> m_Students; [ReadOnly] public ComponentLookup<SpawnableBuildingData> m_SpawnableBuildingData; [ReadOnly] public ComponentLookup<ZoneData> m_ZoneData; [ReadOnly] public BufferLookup<TradeCost> m_TradeCosts; [ReadOnly] public ComponentLookup<ElectricityConsumer> m_ElectricityConsumers; [ReadOnly] public ComponentLookup<AdjustHappinessData> m_AdjustHappinessDatas; [ReadOnly] public ComponentLookup<WaterConsumer> m_WaterConsumers; [ReadOnly] public ComponentLookup<GarbageProducer> m_GarbageProducers; [ReadOnly] public ComponentLookup<MailProducer> m_MailProducers; [ReadOnly] public ComponentLookup<Abandoned> m_Abandoneds; [ReadOnly] public ComponentLookup<ExtractorProperty> m_ExtractorProperties; [NativeDisableParallelForRestriction] public ComponentLookup<BuildingNotifications> m_BuildingNotifications; [ReadOnly] public NativeArray<AirPollution> m_AirPollutionMap; [ReadOnly] public NativeArray<GroundPollution> m_PollutionMap; [ReadOnly] public NativeArray<NoisePollution> m_NoiseMap; [ReadOnly] public CellMapData<TelecomCoverage> m_TelecomCoverages; [ReadOnly] public NativeArray<int> m_Unemployment; [ReadOnly] public BufferLookup<Resources> m_Resources; [ReadOnly] public ComponentLookup<HouseholdMember> m_HouseholdMembers; public ExtractorParameterData m_ExtractorParameters; public HealthcareParameterData m_HealthcareParameters; public ParkParameterData m_ParkParameters; public EducationParameterData m_EducationParameters; public TelecomParameterData m_TelecomParameters; public GarbageParameterData m_GarbageParameters; public PoliceConfigurationData m_PoliceParameters; public CitizenHappinessParameterData m_CitizenHappinessParameterData; public BuildingConfigurationData m_BuildingConfigurationData; public PollutionParameterData m_PollutionParameters; public IconCommandBuffer m_IconCommandBuffer; [ReadOnly] public NativeArray<int> m_TaxRates; [ReadOnly] public ResourcePrefabs m_ResourcePrefabs; public uint m_UpdateFrameIndex; public float m_BaseConsumptionSum; [ReadOnly] public Entity m_City; public EconomyParameterData m_EconomyParameters; public DemandParameterData m_DemandParameters; public ParallelWriter m_CommandBuffer; private bool CanDisplayHighRentWarnIcon(Dyn