public void StopRamming(IRamable rammer)
 {
     if (_rammerExplDict.ContainsKey(rammer))
     {
         _rammerExplDict.Remove(rammer);
     }
 }
        public void Ramming(float damage, Vector3 ramPoint, IRamable rammer)
        {
            Damage(damage);

            if (!_rammerExplDict.ContainsKey(rammer))
            {
                if (damage >= damageThreshold)
                {
                    var hitExpl = Instantiate(ramHitExplosion, ramPoint, Quaternion.identity);
                    _rammerExplDict.Add(rammer, hitExpl);
                }
            }
            else
            {
                var explParticle = _rammerExplDict.FirstOrDefault(pair => pair.Key == rammer);
                if (explParticle.Value != null)
                {
                    explParticle.Value.transform.position = ramPoint;
                }
            }
        }