diff --git a/src/EcsWorld.static.cs b/src/EcsWorld.static.cs index 9d3b3f9..a2aa691 100644 --- a/src/EcsWorld.static.cs +++ b/src/EcsWorld.static.cs @@ -45,10 +45,15 @@ namespace DCFApixels.DragonECS [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool TryGetWorld(short worldID, out EcsWorld world) {// ts + if(worldID >= _worlds.Length) + { + world = null; + return false; + } world = _worlds[worldID]; return world != null && - world.IsDestroyed != false && + world.IsDestroyed == false && worldID != 0; } diff --git a/src/entlong.cs b/src/entlong.cs index 9b25a94..7458d31 100644 --- a/src/entlong.cs +++ b/src/entlong.cs @@ -464,6 +464,8 @@ namespace DCFApixels.DragonECS a.gen != b.gen || a.world != b.world; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static explicit operator EntitySlotInfo(entlong a) { return new EntitySlotInfo(a._full); } #endregion #region Other