SetTile() public method

public SetTile ( ITile tile ) : void
tile ITile
return void
示例#1
0
文件: Map.cs 项目: hnjm/tilemap
    public void SetVisibleRegion(float x, float y, float w, float h)
    {
        visibleTiles.Clear();

        //normalize the parameters.
        float left  = x / MapUtil.TILE_LENGTH;
        float lower = y / MapUtil.TILE_LENGTH;
        float right = w / MapUtil.TILE_LENGTH;
        float upper = h / MapUtil.TILE_LENGTH;

        //get all visible tiles inside the rigion
        ICollection <Vec2> points = loadingStrategy.GetTilesToLoad(left, lower, right, upper, size.x, size.y);

        foreach (var point in points)
        {
            //create the tile if not exist
            if (!tileSet.ContainsKey(point))
            {
                ITile    tile     = factory.CreateTile(point);
                TileView renderer = CreateTile(point);
                renderer.SetTile(tile);
                tileSet.Add(point, renderer);
                visibleTiles.Add(tile);
            }
            else
            {
                visibleTiles.Add(tileSet [point].GetTile());
            }
        }
    }
示例#2
0
文件: Map.cs 项目: hnjm/tilemap
 private void LoadCachedTiles(List <ITile> tiles)
 {
     foreach (var tile in tiles)
     {
         Vec2     point    = tile.GetPoint();
         TileView renderer = CreateTile(point);
         renderer.SetTile(tile);
         tileSet.Add(point, renderer);
     }
 }