public void GetTilePointTableForMap(int mapId, out TilePointTable tilePointTable) { if (mapId < 0 || !masterTilePointDictionary.TryGetValue(mapId, out tilePointTable)) { throw new ManagerException(TileManagerException.MapDoesNotExists, "Map with id '{0}' could not be found.", mapId); } }
public MapBase(int id, string name, TilePointTable tiles) { this.tiles = tiles; MapId = id; Name = name; MaxPlayersPerInstance = 0; }
private void TileManagerOnRenderInvoked(object sender, int invokedMapId, ref TilePointTable tilePointTable) { if (invokedMapId != this.mapId) { return; } tilePointTableCached = tilePointTable; InternalDoRender(tilePointTableCached); }
/// <summary> /// Internal rendering method. This actually initiates the rendering logic of <see cref="TileEngine"/> /// </summary> /// <param name="tilePointTable"><see cref="TilePointTable"/> data to render on screen</param> private void InternalDoRender(TilePointTable tilePointTable) { if (!isOpenGLInitialized) { return; } tileEngine.DoRender(ref tilePointTable); if (OnRenderingComplete != null) { OnRenderingComplete(); } }
private MapBase InitializeMap(int id, string name, int width, int height) { var tiles = new TilePointTable(); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { var tp = new TilePoint(x, y); var tpl = new TilePointLayer(tp, 1); tpl.Movement = MovementTypes.Walk; tpl.SetLayer(new TilePointTileLayer(1)); tp.SetLayer(tpl); } } return(new MapBase(id, name, tiles)); }