Example #1
0
        public static void Update()
        {
            foreach (Entity entity in EntityManager.Entities)
            {
                if (entity is Bonus)
                {
                    if (TryUse(entity as Bonus))
                    {
                        return;
                    }
                }
            }

            foreach (Entity entity in EntityManager.Entities)
            {
                if (entity is GameElement)
                {
                    FindMatchs(entity as GameElement);

                    if (EntityManager.GetExpiredElements() > 0)
                    {
                        SearchingForBonus();
                        sequence.Clear();
                        break;
                    }
                }
                sequence.Clear();
            }
        }
Example #2
0
        private static void SearchingForBonus()
        {
            if (EntityManager.GetExpiredElements() > 4)
            {
                List <Entity> entities = EntityManager.GetExpiredList();

                foreach (Entity entity in entities)
                {
                    if (entity is Bonus)
                    {
                        return;
                    }
                }

                List <GameElement> gameElements = entities.ToGameElementsList();

                if (gameElements.Where(x => x.WasMove).ToGameElementsList().Count > 0)
                {
                    EntityManager.CreateBonus(gameElements.Where(x => x.WasMove).ToGameElementsList().Last(), BonusType.Bomb);
                }
                else
                {
                    EntityManager.CreateBonus(gameElements.Last(), BonusType.Bomb);
                }
            }
        }