UnityPlatformer.CharacterHealth.Kill C# (CSharp) Method

Kill() public method

Kill the character even if it's invulnerable
public Kill ( ) : void
return void
    public void Kill() {
      health = 0;
      Die();
    }
    /// <summary>

Usage Example

Esempio n. 1
0
        /// <summary>
        /// This is a smash/splash/squash test to kill character if needed
        /// </summary>
        void OnCollisionStay2D(Collision2D collisionInfo)
        {
            //if (collisionInfo.collider.gameObject.layer == Configuration.instance.staticGeometryMask) {
            if (collisionMask.Contains(collisionInfo.collider.gameObject.layer))
            {
                Vector3 max = colBounds.max;
                Vector3 min = colBounds.min;



                Debug.Log("OnCollisionStay!!" + collisionInfo.collider.gameObject.GetFullName());
                foreach (ContactPoint2D contact in collisionInfo.contacts)
                {
                    //Debug.DrawRay(contact.point, contact.normal, Color.blue);
                    ((Vector3)contact.point).Draw();

                    if (contact.point.x - min.x < max.x - contact.point.x)
                    {
                        min.x = contact.point.x;
                    }
                    else
                    {
                        max.x = contact.point.x;
                    }

                    if (contact.point.y - min.y < max.y - contact.point.y)
                    {
                        min.y = contact.point.y;
                    }
                    else
                    {
                        max.y = contact.point.y;
                    }
                }

                colBounds.SetMinMax(min, max);

                colBounds.Draw(transform, Color.blue);
                if (bounds.size.x * bounds.size.y * 0.8 > colBounds.size.x * colBounds.size.y)
                {
                    Debug.Log("Character crushed!!!");
                    health.Kill();
                }
            }
        }