コード例 #1
0
        public void ExcluirEntidade(float x, float y)
        {
            /* Percorre todas as listas e exclui as entidades que estão na posição recebida */

            Vector2f vec = GetPosicaoAjustada(x, y);

            for (int i = EntidadesIntangiveis.Count - 1; i >= 0 && EntidadesIntangiveis.Count > 0; i--)
            {
                if (EntidadesIntangiveis[i].ESprite.Position.X == vec.X && EntidadesIntangiveis[i].ESprite.Position.Y == vec.Y)
                {
                    EntidadesIntangiveis.Remove(EntidadesIntangiveis[i]);
                }
            }

            for (int i = EntidadesTangiveis.Count - 1; i >= 0 && EntidadesTangiveis.Count > 0; i--)
            {
                if (EntidadesTangiveis[i].ESprite.Position.X == vec.X && EntidadesTangiveis[i].ESprite.Position.Y == vec.Y)
                {
                    EntidadesTangiveis.Remove(EntidadesTangiveis[i]);
                }
            }

            for (int i = Mecanismos.Count - 1; i >= 0 && Mecanismos.Count > 0; i--)
            {
                if (Mecanismos[i].ESprite.Position.X == vec.X && Mecanismos[i].ESprite.Position.Y == vec.Y)
                {
                    Mecanismos.Remove(Mecanismos[i]);
                }
            }

            for (int i = Armadilhas.Count - 1; i >= 0 && Armadilhas.Count > 0; i--)
            {
                if (Armadilhas[i].ESprite.Position.X == vec.X && Armadilhas[i].ESprite.Position.Y == vec.Y)
                {
                    Armadilhas.Remove(Armadilhas[i]);
                }
            }

            for (int i = npcs.Count - 1; i >= 0 && npcs.Count > 0; i--)
            {
                if (npcs[i].ESprite.Position.X == vec.X && npcs[i].ESprite.Position.Y == vec.Y)
                {
                    npcs.Remove(npcs[i]);
                }
            }

            for (int i = Escadas.Count - 1; i >= 0 && Escadas.Count > 0; i--)
            {
                if (Escadas[i].ESprite.Position.X == vec.X && Escadas[i].ESprite.Position.Y == vec.Y)
                {
                    Escadas.Remove(Escadas[i]);
                }
            }
        }