Beispiel #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (isCollected)
        {
            return;
        }
        if (other.gameObject.layer == playerRelatedLayer && other.isTrigger == false)
        {
            isCollected = true;

            //Power Up exploding
            GameObject ob = Instantiate(collectionEffect, transform.position, transform.rotation);

            //Player upgrade activating
            if (player == null)
            {
                player = FindObjectOfType <PlayerBehaviour>();
            }
            GameObject ob1 = Instantiate(upgradeEffect, player.transform.position,
                                         Quaternion.identity, player.transform);

            Debug.Log(other.gameObject.name + " hit the power up");

            var ps = ob.GetComponent <ParticleSystem>().main;
            ps.startColor = GetComponent <SpriteRenderer>().color;

            var ps1 = ob1.GetComponent <ParticleSystem>().main;
            ps1.startColor = GetComponent <SpriteRenderer>().color;

            player.CollectPowerUp(this);

            Destroy(gameObject);
        }
    }