internal TileGrafico selecionarTile(int x, int y, CamadaDominio objCamada) { if (objCamada == null) { return(null); } if (!objCamada.Equals(this.objCamada)) { return(null); } List <TileGrafico> lstGfcTileTemp = new List <TileGrafico>(this.lstGfcTile); lstGfcTileTemp.Reverse(); foreach (TileGrafico gfcTile in lstGfcTileTemp) { TileGrafico gfcResultado = gfcTile.selecionar(x, y); if (gfcResultado != null) { this.invalidar(); return(gfcResultado); } } return(null); }
private void apagar(CamadaDominio objCamada, TileGrafico gfcTile) { if (!objCamada.removerTile(gfcTile.objTile)) { return; } this.removerGfcTile(gfcTile); this.invalidar(); }
private void removerGfcTile(TileGrafico gfcTile) { if (gfcTile == null) { return; } if (!this.lstGfcTile.Contains(gfcTile)) { return; } this.lstGfcTile.Remove(gfcTile); gfcTile.Dispose(); }
private TileGrafico getGfcTile(TileDominio objTile) { if (objTile == null) { return(null); } if (objTile.gfcTile != null) { return(objTile.gfcTile); } foreach (TileGrafico gfcTile in this.lstGfcTile) { if (!objTile.Equals(gfcTile.objTile)) { continue; } objTile.gfcTile = gfcTile; return(gfcTile); } TileGrafico gfcTileNovo = null; if (objTile is PersonagemTileDominio) { gfcTileNovo = new PersonagemTileGrafico(this.objDisplay, (objTile as PersonagemTileDominio)); } else { gfcTileNovo = new TileGrafico(this.objDisplay, objTile); } gfcTileNovo.gfcCamada = this; this.lstGfcTile.Add(gfcTileNovo); return(gfcTileNovo); }