/**********************************************************************************/ // функция получения урона юнитом // /**********************************************************************************/ override public void ApplyDamage(DamageData damage) { if (m_state == UNIT_STATE.ACTIVE) { // объект получает урон m_armor.TakeDamage(damage); // накладываем визуальный эффект EffectDescriptor dE = new EffectDescriptor(); if (damage.DamageType == DamageData.DAMAGE_TYPE.ACID) { dE.Type = UnitEffect.EFFECT_TYPE.DAMAGE_ACID; } else { dE.Type = UnitEffect.EFFECT_TYPE.DAMAGE; } dE.Responsibility = EffectDescriptor.EffectResponsibility.REQUIRED; ApplyEffect(dE); // если есть возможность нанести ответный урон - делаем это if (damage.ExpectResponce == DamageData.RESPONSE.EXPECTED) { m_weaponMaster.UseCloseWeapon(damage.Damager, true); } } }