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(); } }
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); } } }