private void OnCollisionEnter2D(Collision2D collision) { IBonusRecipient playerSpaceship = collision.gameObject.GetComponent <IBonusRecipient>(); if (playerSpaceship != null) { ApplyBonus(playerSpaceship); Observer.Instance().ObectOutdated.Invoke(gameObject); } }
//применение оптечки к получателю public override void ApplyBonus(IBonusRecipient recipient) { recipient.Healing(_healingPower); Observer.Instance().ObectOutdated.Invoke(gameObject); }
//Применение бонуса к получателю public override void ApplyBonus(IBonusRecipient recipient) { recipient.IncreaseSpeed(_speedPower, _duration); Observer.Instance().ObectOutdated.Invoke(gameObject); }
//Метод применения бонуса реализуемый наследниками abstract public void ApplyBonus(IBonusRecipient playerSpaceship);