Пример #1
0
 protected virtual void OnCollision(GameObject collision)
 {
     if (m_NextStatus != Status.None)
     {
         return;
     }
     if (m_Status == Status.Shoot)
     {
         Rigidbody2D rigi = collision.gameObject.GetComponent <Rigidbody2D>();
         if (rigi != null)
         {
             Vector2 f = m_Rigi.mass * m_CurSpeed / Time.deltaTime;
             rigi.AddForce(f);
         }
         IHealth health = collision.gameObject.GetComponent <IHealth>();
         if (health != null)
         {
             health.OnHit(this.gameObject);
         }
         IWeak   weak = collision.gameObject.GetComponent <IWeak>();
         Missile m    = collision.gameObject.GetComponent <Missile>();
         if (weak == null && m == null)
         {
             m_NextStatus = Status.Over;
             GameObject go = ResourcesMrg.Instance.Load(ResourcesMrg.ResourceType.Effect, "Explode", isCache: true);
             go.transform.position = transform.position;
             EazySoundManager.PlayUISound(m_OverClip);
         }
     }
 }
Пример #2
0
        private void OnTriggerEnter2D(Collider2D collision)
        {
            IWeak weak = collision.GetComponent <IWeak>();

            if (weak != null)
            {
                return;
            }
            Collect();
        }