public static bool PryTile(this EntityCoordinates coordinates, IEntityManager?entityManager = null, IMapManager?mapManager = null) { entityManager ??= IoCManager.Resolve <IEntityManager>(); mapManager ??= IoCManager.Resolve <IMapManager>(); return(coordinates.ToMapIndices(entityManager, mapManager).PryTile(coordinates.GetGridId(entityManager))); }
public static TileRef?GetTileRef(this EntityCoordinates coordinates, IEntityManager?entityManager = null, IMapManager?mapManager = null) { entityManager ??= IoCManager.Resolve <IEntityManager>(); if (!coordinates.IsValid(entityManager)) { return(null); } mapManager ??= IoCManager.Resolve <IMapManager>(); if (!mapManager.TryGetGrid(coordinates.GetGridId(entityManager), out var grid)) { return(null); } if (!grid.TryGetTileRef(coordinates.ToMapIndices(entityManager, mapManager), out var tile)) { return(null); } return(tile); }
public virtual TileAtmosphere?GetTile(EntityCoordinates coordinates, bool createSpace = true) { return(GetTile(coordinates.ToMapIndices(_serverEntityManager, _mapManager), createSpace)); }