private void RunBonus(BaseBonus bonus) { if (bonus.IsConstant) { bonus.RunEffect(); return; } if (!bonus.IsCurrentlyExecuting) { bonus.RunEffect(); } else { bonus.ResetDuration(); } }
void alienManager_EnnemyDied(object sender, EnnemyDeadEventArgs e) { Ennemy ennemy = e.Ennemy; Random rand = new Random(DateTime.Now.Millisecond); BonusType bonusType = BonusType.Debris; if (rand.Next(1, 100) > 95) { bonusType = BonusType.Ammo; } BaseBonus bonus = new BaseBonus(bonusType, (int)ennemy.X, (int)ennemy.Y); bonusGroup.LoadContent(); bonusGroup.Add(bonus); }
private void OnRemoveBonus(BaseBonus bonus) { //Debug.LogWarning("OnRemoveBonus"); var index = GetAssociatedIconIndex(bonus); //Debug.LogWarning(index); //сдвиг влево иконок, которые правее текушей int lastVisibleIconindex = _activeBonuses.Count - 1; for (int i = index; i < lastVisibleIconindex; i++) { _icons[i].SetBonus(_icons[i + 1].CurrentBonus); } //if (index < lastVisibleIconindex) _icons[lastVisibleIconindex].FilledSprite.gameObject.SetActive(false); //else // _icons[index].FilledSprite.gameObject.SetActive(false); _activeBonuses.Remove(bonus); }
private void OnAddBonus(BaseBonus newBonus) { if (_activeBonuses.Contains(newBonus)) { //GetAssociatedIcon; DrawHalo//отобразить анимацию ареола return; } if (_activeBonuses.Count > _icons.Length) { return; } var firstEmptyIcon = _icons[_activeBonuses.Count]; //Debug.LogWarning(_activeBonuses.Count); // Debug.LogWarning(firstEmptyIcon.FilledSprite.name); firstEmptyIcon.SetBonus(newBonus); _activeBonuses.Add(newBonus); //Debug.LogWarning(firstEmptyIcon.CurrentBonus.SpriteName); firstEmptyIcon.FilledSprite.gameObject.SetActive(true); }
public CooldownItem(UISprite sprite) { FilledSprite = sprite; _icon = sprite.GetComponentsInDirectChildrens <UISprite>().First(); CurrentBonus = null; }