using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using Colossal.Serialization.Entities;
using Colossal.UI.Binding;
using Game;
using Game.Citizens;
using Game.Common;
using Game.Companies;
using Game.Simulation;
using Game.Tools;
using Game.UI;
using HarmonyLib;
using HookUILib.Core;
using Microsoft.CodeAnalysis;
using Unity.Burst;
using Unity.Burst.Intrinsics;
using Unity.Collections;
using Unity.Entities;
using Unity.Jobs;
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(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("UnemploymentMonitor")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Unemployment monitor")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("UnemploymentMonitor")]
[assembly: AssemblyTitle("UnemploymentMonitor")]
[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 UnemploymentMonitor
{
[HarmonyPatch]
internal class Patches
{
[HarmonyPatch(typeof(SystemOrder))]
public static class SystemOrderPatch
{
[HarmonyPatch("Initialize")]
[HarmonyPostfix]
public static void Postfix(UpdateSystem updateSystem)
{
updateSystem.UpdateAt<UnderemploymentSystem>((SystemUpdatePhase)12);
updateSystem.UpdateAt<UnemploymentUISystem>((SystemUpdatePhase)22);
}
}
}
[BepInPlugin("UnemploymentMonitor", "UnemploymentMonitor", "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 UnemploymentMonitor is loaded!");
Harmony val = new Harmony("UnemploymentMonitor");
val.PatchAll();
}
}
public struct UnderemployedWorker : IComponentData, IQueryTypeParameter, ISerializable
{
public int m_EducationLevel;
public int m_JobLevel;
public UnderemployedWorker(int educationLevel, int jobLevel)
{
m_EducationLevel = educationLevel;
m_JobLevel = jobLevel;
}
public void Deserialize<TReader>(TReader reader) where TReader : IReader
{
((IReader)reader).Read(ref m_EducationLevel);
((IReader)reader).Read(ref m_JobLevel);
}
public void Serialize<TWriter>(TWriter writer) where TWriter : IWriter
{
((IWriter)writer).Write(m_EducationLevel);
((IWriter)writer).Write(m_JobLevel);
}
}
public class UnderemploymentSystem : GameSystemBase
{
[BurstCompile]
private struct CalculateUnderemploymentJob : IJobChunk
{
public EntityTypeHandle m_EntityType;
public ComponentTypeHandle<Worker> m_WorkerType;
public ComponentTypeHandle<Citizen> m_CitizenType;
[ReadOnly]
public ComponentLookup<Worker> m_Workers;
[ReadOnly]
public ComponentLookup<Citizen> m_Citizens;
public ComponentLookup<UnderemployedWorker> m_UnderemployedWorkers;
[ReadOnly]
public SharedComponentTypeHandle<UpdateFrame> m_UpdateFrameType;
public uint m_UpdateFrameIndex;
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_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_0033: 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_0040: 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_004d: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: 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_0066: 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_0071: 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_007f: 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_0096: 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_00e2: 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<Worker> nativeArray2 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Worker>(ref m_WorkerType);
NativeArray<Citizen> nativeArray3 = ((ArchetypeChunk)(ref chunk)).GetNativeArray<Citizen>(ref m_CitizenType);
for (int i = 0; i < nativeArray.Length; i++)
{
Entity val = nativeArray[i];
Worker val2 = nativeArray2[i];
Citizen val3 = nativeArray3[i];
if (((Citizen)(ref val3)).GetEducationLevel() > val2.m_Level)
{
((ParallelWriter)(ref m_CommandBuffer)).AddComponent<UnderemployedWorker>(unfilteredChunkIndex, val, new UnderemployedWorker
{
m_EducationLevel = ((Citizen)(ref val3)).GetEducationLevel(),
m_JobLevel = val2.m_Level
});
}
else if (m_UnderemployedWorkers.HasComponent(val))
{
((ParallelWriter)(ref m_CommandBuffer)).RemoveComponent<UnderemployedWorker>(unfilteredChunkIndex, val);
}
}
}
void IJobChunk.Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask)
{
Execute(in chunk, unfilteredChunkIndex, useEnabledMask, in chunkEnabledMask);
}
}
private struct TypeHandle
{
public EntityTypeHandle __Unity_Entities_Entity_TypeHandle;
[ReadOnly]
public ComponentTypeHandle<Citizen> __Game_Citizens_Citizen_RO_ComponentTypeHandle;
[ReadOnly]
public ComponentTypeHandle<Worker> __Game_Citizens_Worker_RO_ComponentTypeHandle;
[ReadOnly]
public ComponentLookup<Worker> __Game_Citizens_Worker_RO_ComponentLookup;
[ReadOnly]
public ComponentLookup<Citizen> __Game_Citizens_Citizen_RO_ComponentLookup;
public ComponentLookup<UnderemployedWorker> __UnemploymentMonitor_UnderemployedWorker_RW_ComponentLookup;
public SharedComponentTypeHandle<UpdateFrame> __Game_Simulation_UpdateFrame_SharedComponentTypeHandle;
[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_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)
__Unity_Entities_Entity_TypeHandle = ((SystemState)(ref state)).GetEntityTypeHandle();
__Game_Citizens_Citizen_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<Citizen>(true);
__Game_Citizens_Worker_RO_ComponentTypeHandle = ((SystemState)(ref state)).GetComponentTypeHandle<Worker>(true);
__Game_Citizens_Worker_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Worker>(true);
__Game_Citizens_Citizen_RO_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<Citizen>(true);
__UnemploymentMonitor_UnderemployedWorker_RW_ComponentLookup = ((SystemState)(ref state)).GetComponentLookup<UnderemployedWorker>(false);
__Game_Simulation_UpdateFrame_SharedComponentTypeHandle = ((SystemState)(ref state)).GetSharedComponentTypeHandle<UpdateFrame>();
}
}
private EntityQuery m_CreatedGroup;
private ManualLogSource logger = new ManualLogSource("UnderemploymentSystem");
public static readonly int kUpdatesPerDay = 16;
private EndFrameBarrier m_EndFrameBarrier;
private SimulationSystem m_SimulationSystem;
private TypeHandle __TypeHandle;
public int GetUnderemployedCount()
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0009: Expected O, but got Unknown
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: 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_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_0042: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: 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)
int num = 0;
EntityQueryDesc val = new EntityQueryDesc();
val.All = (ComponentType[])(object)new ComponentType[1] { ComponentType.ReadOnly<UnderemployedWorker>() };
val.None = (ComponentType[])(object)new ComponentType[3]
{
ComponentType.ReadOnly<Deleted>(),
ComponentType.ReadOnly<Destroyed>(),
ComponentType.ReadOnly<Temp>()
};
EntityQueryDesc val2 = val;
EntityQuery entityQuery = ((ComponentSystemBase)this).GetEntityQuery((EntityQueryDesc[])(object)new EntityQueryDesc[1] { val2 });
return ((EntityQuery)(ref entityQuery)).CalculateEntityCount();
}
public override int GetUpdateInterval(SystemUpdatePhase phase)
{
return 262144 / (kUpdatesPerDay * 16);
}
[Preserve]
protected override void OnCreate()
{
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Expected O, but got Unknown
//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_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: 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_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_00af: Unknown result type (might be due to invalid IL or missing references)
((GameSystemBase)this).OnCreate();
Logger.Sources.Add((ILogSource)(object)logger);
m_EndFrameBarrier = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<EndFrameBarrier>();
m_SimulationSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<SimulationSystem>();
EntityQueryDesc val = new EntityQueryDesc();
val.All = (ComponentType[])(object)new ComponentType[2]
{
ComponentType.ReadOnly<Worker>(),
ComponentType.ReadOnly<Citizen>()
};
val.None = (ComponentType[])(object)new ComponentType[3]
{
ComponentType.ReadOnly<Deleted>(),
ComponentType.ReadOnly<Destroyed>(),
ComponentType.ReadOnly<Temp>()
};
EntityQueryDesc val2 = val;
m_CreatedGroup = ((ComponentSystemBase)this).GetEntityQuery((EntityQueryDesc[])(object)new EntityQueryDesc[1] { val2 });
((ComponentSystemBase)this).RequireForUpdate(m_CreatedGroup);
}
protected override void OnCreateForCompiler()
{
((ComponentSystemBase)this).OnCreateForCompiler();
__AssignQueries(ref ((SystemBase)this).CheckedStateRef);
__TypeHandle.__AssignHandles(ref ((SystemBase)this).CheckedStateRef);
}
[Preserve]
protected override void OnUpdate()
{
//IL_0085: Unknown result type (might be due to invalid IL or missing references)
//IL_008a: 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_009c: 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_00bb: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: 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_00d2: 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_00f1: Unknown result type (might be due to invalid IL or missing references)
//IL_00f6: 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_00fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0113: Unknown result type (might be due to invalid IL or missing references)
//IL_0118: 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_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)
uint updateFrame = SimulationUtils.GetUpdateFrame(m_SimulationSystem.frameIndex, kUpdatesPerDay, 16);
__TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef);
__TypeHandle.__Game_Citizens_Worker_RO_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef);
__TypeHandle.__UnemploymentMonitor_UnderemployedWorker_RW_ComponentLookup.Update(ref ((SystemBase)this).CheckedStateRef);
((EntityTypeHandle)(ref __TypeHandle.__Unity_Entities_Entity_TypeHandle)).Update(ref ((SystemBase)this).CheckedStateRef);
CalculateUnderemploymentJob calculateUnderemploymentJob = default(CalculateUnderemploymentJob);
calculateUnderemploymentJob.m_Citizens = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentLookup;
calculateUnderemploymentJob.m_Workers = __TypeHandle.__Game_Citizens_Worker_RO_ComponentLookup;
calculateUnderemploymentJob.m_EntityType = __TypeHandle.__Unity_Entities_Entity_TypeHandle;
calculateUnderemploymentJob.m_CitizenType = __TypeHandle.__Game_Citizens_Citizen_RO_ComponentTypeHandle;
calculateUnderemploymentJob.m_WorkerType = __TypeHandle.__Game_Citizens_Worker_RO_ComponentTypeHandle;
calculateUnderemploymentJob.m_UnderemployedWorkers = __TypeHandle.__UnemploymentMonitor_UnderemployedWorker_RW_ComponentLookup;
EntityCommandBuffer val = ((SafeCommandBufferSystem)m_EndFrameBarrier).CreateCommandBuffer();
calculateUnderemploymentJob.m_CommandBuffer = ((EntityCommandBuffer)(ref val)).AsParallelWriter();
calculateUnderemploymentJob.m_UpdateFrameIndex = updateFrame;
calculateUnderemploymentJob.m_UpdateFrameType = __TypeHandle.__Game_Simulation_UpdateFrame_SharedComponentTypeHandle;
((SystemBase)this).Dependency = JobChunkExtensions.ScheduleParallel<CalculateUnderemploymentJob>(calculateUnderemploymentJob, m_CreatedGroup, ((SystemBase)this).Dependency);
}
[Preserve]
protected override void OnDestroy()
{
((GameSystemBase)this).OnDestroy();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void __AssignQueries(ref SystemState state)
{
}
[Preserve]
public UnderemploymentSystem()
{
}//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
}
public class UnemploymentUI : UIExtension
{
public readonly string extensionID = "derangedteddy.unemployment-monitor";
public readonly string extensionContent;
public readonly ExtensionType extensionType = (ExtensionType)0;
public UnemploymentUI()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
extensionContent = ((UIExtension)this).LoadEmbeddedResource("UnemploymentMonitor.unemployment_monitor.transpiled.js");
}
}
public class UnemploymentUISystem : UISystemBase
{
private const string kGroup = "unemploymentInfo";
private CountEmploymentSystem m_CountEmploymentSystem;
private UnderemploymentSystem m_UnderemploymentSystem;
private NativeArray<int> m_Results = new NativeArray<int>(5, (Allocator)4, (NativeArrayOptions)1);
private EntityQuery m_HomelessHouseholdQuery;
private EntityQuery m_EmployeesQuery;
[Preserve]
protected override void OnCreate()
{
//IL_0102: Unknown result type (might be due to invalid IL or missing references)
//IL_0108: Expected O, but got Unknown
//IL_0111: Unknown result type (might be due to invalid IL or missing references)
//IL_0116: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
//IL_0122: Unknown result type (might be due to invalid IL or missing references)
//IL_0135: 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_0141: Unknown result type (might be due to invalid IL or missing references)
//IL_0146: 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_0159: 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_0165: Unknown result type (might be due to invalid IL or missing references)
//IL_016a: 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_017c: Expected O, but got Unknown
//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_0191: Unknown result type (might be due to invalid IL or missing references)
//IL_0196: 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_01b5: Unknown result type (might be due to invalid IL or missing references)
//IL_01ba: 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_01de: 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_01f4: Unknown result type (might be due to invalid IL or missing references)
//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
m_CountEmploymentSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<CountEmploymentSystem>();
m_UnderemploymentSystem = ((ComponentSystemBase)this).World.GetOrCreateSystemManaged<UnderemploymentSystem>();
((UISystemBase)this).OnCreate();
JobHandle val9 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentTotal", (Func<int>)(() => m_CountEmploymentSystem.GetUnemployment(ref val9).value), (IWriter<int>)null, (EqualityComparer<int>)null));
JobHandle val8 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentEducation0", (Func<int>)(() => m_CountEmploymentSystem.GetUnemploymentByEducation(ref val8)[0]), (IWriter<int>)null, (EqualityComparer<int>)null));
JobHandle val7 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentEducation1", (Func<int>)(() => m_CountEmploymentSystem.GetUnemploymentByEducation(ref val7)[1]), (IWriter<int>)null, (EqualityComparer<int>)null));
JobHandle val6 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentEducation2", (Func<int>)(() => m_CountEmploymentSystem.GetUnemploymentByEducation(ref val6)[2]), (IWriter<int>)null, (EqualityComparer<int>)null));
JobHandle val5 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentEducation3", (Func<int>)(() => m_CountEmploymentSystem.GetUnemploymentByEducation(ref val5)[3]), (IWriter<int>)null, (EqualityComparer<int>)null));
JobHandle val4 = default(JobHandle);
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "unemploymentEducation4", (Func<int>)(() => m_CountEmploymentSystem.GetUnemploymentByEducation(ref val4)[4]), (IWriter<int>)null, (EqualityComparer<int>)null));
EntityQueryDesc val = new EntityQueryDesc();
val.All = (ComponentType[])(object)new ComponentType[2]
{
ComponentType.ReadOnly<Household>(),
ComponentType.ReadOnly<HomelessHousehold>()
};
val.None = (ComponentType[])(object)new ComponentType[5]
{
ComponentType.ReadOnly<Deleted>(),
ComponentType.ReadOnly<Destroyed>(),
ComponentType.ReadOnly<Temp>(),
ComponentType.ReadOnly<TouristHousehold>(),
ComponentType.ReadOnly<CommuterHousehold>()
};
EntityQueryDesc val2 = val;
val = new EntityQueryDesc();
val.All = (ComponentType[])(object)new ComponentType[2]
{
ComponentType.ReadOnly<Employee>(),
ComponentType.ReadOnly<Worker>()
};
val.None = (ComponentType[])(object)new ComponentType[3]
{
ComponentType.ReadOnly<Deleted>(),
ComponentType.ReadOnly<Destroyed>(),
ComponentType.ReadOnly<Temp>()
};
EntityQueryDesc val3 = val;
m_HomelessHouseholdQuery = ((ComponentSystemBase)this).GetEntityQuery((EntityQueryDesc[])(object)new EntityQueryDesc[1] { val2 });
m_EmployeesQuery = ((ComponentSystemBase)this).GetEntityQuery((EntityQueryDesc[])(object)new EntityQueryDesc[1] { val3 });
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "homelessHouseholdCount", (Func<int>)(() => ((EntityQuery)(ref m_HomelessHouseholdQuery)).CalculateEntityCount()), (IWriter<int>)null, (EqualityComparer<int>)null));
((UISystemBase)this).AddUpdateBinding((IUpdateBinding)(object)new GetterValueBinding<int>("unemploymentInfo", "underemployedCimsCount", (Func<int>)(() => m_UnderemploymentSystem.GetUnderemployedCount()), (IWriter<int>)null, (EqualityComparer<int>)null));
}
[Preserve]
protected override void OnDestroy()
{
m_Results.Dispose();
((UISystemBase)this).OnDestroy();
}
}
public static class MyPluginInfo
{
public const string PLUGIN_GUID = "UnemploymentMonitor";
public const string PLUGIN_NAME = "UnemploymentMonitor";
public const string PLUGIN_VERSION = "1.0.0";
}
}