private static void PrepareWorkLists() { if (Interlocked.Increment(ref workingOnMapPreTick) == 0) { List <Map> maps = Find.Maps; for (int i = 0; i < maps.Count; i++) { maps[i].MapPreTick(); } prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //WindManager } if (Interlocked.Increment(ref workingOnTickListNormal) == 0) { TickManager_Patch.tickListNormal(currentInstance).Tick(); prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //TickNormal } if (Interlocked.Increment(ref workingOnTickListRare) == 0) { TickManager_Patch.tickListRare(currentInstance).Tick(); prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //TickRare } if (Interlocked.Increment(ref workingOnTickListLong) == 0) { TickManager_Patch.tickListLong(currentInstance).Tick(); prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //TickLong } if (Interlocked.Increment(ref workingOnWorldTick) == 0) { try { World world = Find.World; world.worldPawns.WorldPawnsTick(); world.factionManager.FactionManagerTick(); world.worldObjects.WorldObjectsHolderTick(); world.debugDrawer.WorldDebugDrawerTick(); world.pathGrid.WorldPathGridTick(); WorldComponentUtility.WorldComponentTick(world); } catch (Exception ex3) { Log.Error(ex3.ToString()); } prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //WorldPawns prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //Factions prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //WorldObjects prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //WorldComponents } if (Interlocked.Increment(ref workingOnMapPostTick) == 0) { List <Map> maps = Find.Maps; for (int j = 0; j < maps.Count; j++) { maps[j].MapPostTick(); } prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //WildPlantSpawner prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //SteadyEnvironment prepEventWaitStarts[Interlocked.Increment(ref currentPrepsDone)].Set(); //PassingShipManagerTick } }
public static void WorldComponentPrepare() { try { World world = Find.World; world.debugDrawer.WorldDebugDrawerTick(); world.pathGrid.WorldPathGridTick(); WorldComponentUtility.WorldComponentTick(world); } catch (Exception ex3) { Log.Error(ex3.ToString()); } }