Example #1
0
    // This function gets called everytime this object collides with another
    private void OnTriggerEnter2D(Collider2D otherCollider)
    {
        if (hasBeenSave)
        {
            return;
        }

        string playerTag = otherCollider.gameObject.tag;

        // is the other object a player?
        if (playerTag == "Player" || playerTag == "Player2")
        {
            if (userInterface != null)
            {
                // add one point
                int playerId = (playerTag == "Player") ? 0 : 1;


                HealthSystemAttribute player = otherCollider.GetComponent <HealthSystemAttribute>();
                //Could carry more slime
                if (player && !player.IsMaxSave())
                {
                    hasBeenSave = true;
                    player.SaveOneInjureSlime();
                    player.GetComponent <Move>().ChangeSpeedAndScale(player.SaveCount);

                    //Play Audio
                    if (audio)
                    {
                        if (player.SaveCount >= 3)
                        {
                            audio.clip = SaveFullClip;
                        }
                        else
                        {
                            audio.clip = SaveAucioClip;
                        }

                        audio.Play();
                    }
                    GetComponent <SpriteRenderer>().color = new Color(0, 0, 0, 0);

                    Destroy(gameObject, 3);
                }
            }
        }
    }