コード例 #1
0
    public void EnvironmentDamage()
    {
        if (strength <= 0)
        {
            MessageManager.ShowMessageWithImage(tileEnvironment.nameMaterial + " уже разрушен", tileEnvironment.spriteDestroyed);
            return;
        }

        if (tileEnvironment.id == 0) // Воздействие на неразрушаемый тайл "Черный камень"
        {
            MessageManager.ShowMessageWithImage(tileEnvironment.nameMaterial + " не возможно разрушить", tileEnvironment.spriteDefault);
            return;
        }
        else
        {
            _inHandsItemDisplay = _inventory.GetItemDInSlot(-1);

            if (_inHandsItemDisplay.item.id == 0)                                                                    // Если в руках игрока ничего нет...
            {
                MessageManager.ShowMessageOnlyText("Для разрушения тайла необходим соответствующий предмет в руке"); // !! Добавить подсказку о том, какой Item эффективнее всего разрушает именно этот тайл.
                return;
            }

            _damageSize = tileEnvironment.DamageSize(_inHandsItemDisplay.item.id);
            _inHandsItemDisplay.ItemDamage(this);
            if (_damageSize > 0) // Если тайл получил реальный урон...
            {
                strength -= _damageSize;
                _selfHighlighting.HighlightingDamage();

                SetStateEnvironment();
            }
        }
    }