public static void OnShouldKeepChunkLoaded(ChunkUpdating.KeepChunkLoadedData data)
 {
     lock (_queuedPositions)
         foreach (var iterator in _queuedPositions)
         {
             if (iterator.GetVector().IsWithinBounds(data.CheckedChunk.Position, data.CheckedChunk.Bounds))
             {
                 data.Result = true;
             }
         }
 }
Exemple #2
0
 public static void OnShouldKeepChunkLoaded(ChunkUpdating.KeepChunkLoadedData data)
 {
     foreach (var iterator in _needsChunkLoaded)
     {
         if (iterator != null &&
             iterator.CurrentPosition != null &&
             iterator.CurrentPosition.IsWithinBounds(data.CheckedChunk.Position, data.CheckedChunk.Bounds))
         {
             data.Result = true;
         }
     }
 }
 public static void OnShouldKeepChunkLoaded(ChunkUpdating.KeepChunkLoadedData data)
 {
     try {
         currentlyUsedChunksLock.EnterReadLock();
         if (currentlyUsedChunks.Contains(data.CheckedChunk.Position))
         {
             data.Result = true;
         }
     } finally {
         if (currentlyUsedChunksLock.IsReadLockHeld)
         {
             currentlyUsedChunksLock.ExitReadLock();
         }
     }
 }
Exemple #4
0
        public static void OnShouldKeepChunkLoaded(ChunkUpdating.KeepChunkLoadedData data)
        {
            foreach (var list in TrainTransports.Values)
            {
                foreach (var iterator in list)
                {
                    var bounds = new Pipliz.BoundsInt(iterator.TrackPosition.Add(-30, -30, -30), iterator.TrackPosition.Add(30, 30, 30));

                    if (Pipliz.BoundsInt.Intersects(bounds, data.CheckedChunk.Bounds))
                    {
                        data.Result = true;
                    }
                }
            }
        }
 public static void OnShouldKeepChunkLoaded(ChunkUpdating.KeepChunkLoadedData data)
 {
     try {
         KingdomsLock.EnterReadLock();
         foreach (NpcKingdom kingdom in Kingdoms)
         {
             if (kingdom.IsInRange(data.CheckedChunk.Position, KingdomsModEntries.CHUNK_SIZE))
             {
                 data.Result = true;
                 return;
             }
         }
     } finally {
         if (KingdomsLock.IsReadLockHeld)
         {
             KingdomsLock.ExitReadLock();
         }
     }
 }