private void ProcessCombo(EnemyDeathMessage message) { message.Enemy.State = CharacterState.Combo; comboSoundEffectInstance.Play(); AddToScore((int)Points.Combo); NewMessenger.Default.Send(new ComboMessage { Enemy = message.Enemy }); }
private bool CheckIfEnemyDeathGeneratesCombo(EnemyDeathMessage message) { bool wasCombo = false; var enemyGroupId = message.Enemy.GroupId; if (enemyGroupCount.ContainsKey(enemyGroupId)) { enemyGroupCount[enemyGroupId]--; wasCombo = enemyGroupCount[enemyGroupId] == 0; } return(wasCombo); }
private void EnemyDeath(EnemyDeathMessage message) { var wasCombo = CheckIfEnemyDeathGeneratesCombo(message); if (wasCombo) { ProcessCombo(message); } else { onScreenEnemies.Remove(message.Enemy); if (!message.Enemy.IsBullet) { enemies.Add(message.Enemy); } } }