void OnPrepareToPerformAttack(Msg.PrepareToPerformAttack m) { if (_IsFighting && _AttackQueue.Count > 0) { _LastActiveColor = _AttackQueue[0].Color; } }
void TestForLevelUp() { List <ActiveAbility> _AllAbilities = new List <ActiveAbility>(); foreach (var b in _ActiveAbilities) { if (b.Color != Ability.AbilityColor.Neutral) { _AllAbilities.Add(b); } } _AllAbilities.Sort(CompareByColorAndLevel); if (_AllAbilities.Count <= 0) { return; } int counter = 0; int position = 0; int lastLevel = _AllAbilities[0].Level; Ability.AbilityColor lastColor = _AllAbilities[0].Color; foreach (var b in _AllAbilities) { if (b.Level != lastLevel || b.Color != lastColor) { counter = 1; lastColor = b.Color; lastLevel = b.Level; } else { counter++; } if (counter >= GameController.Instance.LevelUpAtAbilityC) { List <ActiveAbility> abilitiesToUpgrade = new List <ActiveAbility>(); for (int i = 0; i < GameController.Instance.LevelUpAtAbilityC; i++) { abilitiesToUpgrade.Add(_AllAbilities[position - i]); } LevelUp(abilitiesToUpgrade); return; } position++; } }
public Color GetColorForAbilityColor(Ability.AbilityColor color) { foreach (AbilityColorColorContainer c in AbilitiesColors) { if (color == c.AbilityColor) { return(c.Color); } } return(Color.white); }