Ejemplo n.º 1
0
 private void SelecionaUnidade(object sender, EventArgs e)
 {
     if (menuUnidade == null)
     {
         menuUnidade = new MenuUnidade((Unidade)sender);
         menuUnidade.OnSellUnidade += new System.EventHandler(VenderUnidade);
         menuUnidade.OnUpUnidade += new System.EventHandler(UpUnidade);
     }
 }
Ejemplo n.º 2
0
        public void Update(GameTime gameTime)
        {
            mouseState = Mouse.GetState();

            if (!Pause)
            {
                // busca a posicao do Mouse dentro dos quadros
                int cellX = (int)(mouseState.X / 32);
                int cellY = (int)(mouseState.Y / 32);
                // busca qual quadro o mouse se encontra
                int tileX = cellX * 32;
                int tileY = cellY * 32;

                if (!nivelCompleto)
                {
                    if (rodadaInimigo != null)
                    {
                        rodadaInimigo.Update(gameTime);

                        if (rodadaInimigo.RodadaFinalizada)
                        {
                            rodadaFinalizada = true;
                        }
                    }
                    else
                        rodadaFinalizada = true;

                    if (rodadaFinalizada)
                    {
                        tempoUltimaRodada += (float)gameTime.ElapsedGameTime.TotalSeconds;
                    }

                    if (tempoUltimaRodada > 2.5f)
                    {
                        ProximaRodada();
                    }
                }

                foreach (Unidade unidade in unidades)
                {
                    if (unidade.Alvo == null && rodadaInimigo != null)
                        unidade.BuscaInimigoProximo(this.rodadaInimigo.Inimigos.Where(x=> x.Ativo && !(x.Morto)).ToList());

                    List<Inimigo> inimigos;
                    if (rodadaInimigo != null)
                        inimigos = this.rodadaInimigo.Inimigos.Where( x=> x.Ativo && !x.Morto).ToList();
                    else
                        inimigos = new List<Inimigo>();

                    unidade.Update(gameTime, mouseState, oldMouseState, inimigos);

                }

                List<AnimacaoOuro> animacoes = new List<AnimacaoOuro>(animacoesOuro);

                foreach (AnimacaoOuro animacao in animacoes)
                    animacao.Update(gameTime);

                AtualizaBarraInfo();
                UpdateCompraUnidade(mouseState, cellY, cellX);
                if (menuUnidade != null)
                    menuUnidade = menuUnidade.Update(gameTime);

            }

            barraUnidades.Update(gameTime);
            transacaoFinal.Update(gameTime);

            oldMouseState = Mouse.GetState();
        }