Exemple #1
0
        //todo дописать поглощение урона

        #region ICollision

        public void CollisionEnter(InfoCollision info)
        {
            if (_isDead)
            {
                return;
            }
            if (Hp > 0)
            {
                Hp -= info.Damage;

                switch (info.Effect)
                {
                case EffectType.Fire:
                    gameObject.transform.GetComponent <Renderer>().material.color = Color.red;
                    break;
                }
            }

            if (Hp <= 0)
            {
                if (!TryGetComponent <Rigidbody>(out _))
                {
                    gameObject.AddComponent <Rigidbody>();
                }

                Destroy(gameObject, _timeToDestroy);

                OnPointChange.Invoke();
                _isDead = true;
            }
        }
Exemple #2
0
        public void CollisionEnter(InfoCollision info)
        {
            if (_isDead)
            {
                return;
            }

            if (!TryGetComponent <Rigidbody>(out _))
            {
                gameObject.AddComponent <Rigidbody>();
            }



            OnPointChange.Invoke();
            _isDead = true;
        }
Exemple #3
0
        //todo дописать поглощение урона ПОДЖЕГ

        #region ICollision

        public void CollisionEnter(InfoCollision info)
        {
            if (_isDead)
            {
                return;
            }

            //switch (info.InfoCollisionType)
            //{
            //    case InfoCollisionType.Bullet:
            GettingMomentDamage(info);
            //        break;
            //    case InfoCollisionType.FireBolt:
            //        GettingPeriodicDamage(info);

            //        break;
            //    case InfoCollisionType.FrostBolt:

            //        break;
            //    default:
            //        GettingMomentDamage(info);
            //        break;
            //}
        }