示例#1
0
        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);
        }
示例#2
0
        private void apagar(CamadaDominio objCamada, TileGrafico gfcTile)
        {
            if (!objCamada.removerTile(gfcTile.objTile))
            {
                return;
            }

            this.removerGfcTile(gfcTile);

            this.invalidar();
        }
示例#3
0
        private void removerGfcTile(TileGrafico gfcTile)
        {
            if (gfcTile == null)
            {
                return;
            }

            if (!this.lstGfcTile.Contains(gfcTile))
            {
                return;
            }

            this.lstGfcTile.Remove(gfcTile);

            gfcTile.Dispose();
        }
示例#4
0
        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);
        }