예제 #1
0
        internal bool addPersonagem(PersonagemDominio objPersonagem, CamadaDominio objCamada)
        {
            if (objCamada == null)
            {
                return(false);
            }

            if (!objCamada.Equals(this.objCamada))
            {
                return(false);
            }

            PersonagemTileDominio objPersonagemTile = new PersonagemTileDominio();

            objPersonagemTile.dirImagem     = objPersonagem.objTile.dirImagem;
            objPersonagemTile.objPersonagem = objPersonagem;
            objPersonagemTile.rtgImg        = objPersonagem.objTile.rtgImg;
            objPersonagemTile.rtgMapa       = new Rectangle(0, 0, objPersonagem.objTile.rtgImg.Width, objPersonagem.objTile.rtgImg.Height);

            objPersonagemTile.iniciar(true);

            PersonagemTileGrafico gfcPersonagemTile = new PersonagemTileGrafico(this.objDisplay, objPersonagemTile);

            gfcPersonagemTile.gfcCamada = this;
            gfcPersonagemTile.objTile   = objPersonagemTile;

            this.lstGfcTile.Add(gfcPersonagemTile);

            this.objCamada.addPersonagemTile(objPersonagemTile);

            this.invalidar();

            return(true);
        }
예제 #2
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);
        }